PAM的配置过程

PAM:可插拔的认证模块

模块  /lib/security

接口文件  /etc/pam.d/

type

auth  验证是否有该帐号

account  口令 帐号是否过期

password  用户修改口令

session  会话过程

control

required    必须通过,

如果没有通过 ,测底否定  ,而且还要看后续模块

如果通过 ,且还要看后续模块

requisite  必须通过,

如果没有通过 ,测底否定  ,而且不看后续模块

如果通过 ,且还要看后续模块

sufficient  如果没有通过 ,不否定  ,而且看后续模块

只要有一个通过  通过

查看模块

[root@localhost security]# pwd

/lib/security

[root@localhost security]# ls

1.简单模块的应用

例如 pam_nologin.so  模块

[root@localhost ~]# vim /etc/nologin  #不进行任何设置

普通的用户就不能登录了

原因是

[root@localhost pam.d]# pwd

/etc/pam.d

[root@localhost pam.d]# vim sshd

3  account    required    pam_nologin.so

查看日志如下:

calhost ~]# tail -f /var/log/secure

1:28:44 localhost sshd[5647]: fatal: Access denied for user u1 by PAM account configuration

Dec 23 21:28:44 localhost sshd[5646]: Failed password for u1 from 192.168.10.1 port 3486 ssh2

删除rm /etc/nologin 就可以正常登录

2.模块pam_access.so

例子1.限定user1只能从192.168.10.1 ssh

[root@localhost security]# pwd

/etc/security

[root@localhost security]# vim access.conf

25 + : user1 :192.168.10.1

26 - :user1 : all

限定user1可以从任何地方 ssh  其他人(管理员除外)都不可以ssh

查看日志如下:

Dec 23 23:17:06 localhost sshd[7256]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=localhost.localdomain  user=user1

Dec 23 23:17:09 localhost sshd[7256]: Failed password for user1 from 127.0.0.1 port 44903 ssh2

3.模块pam_limits.so

4.限制用户连接次数

[root@localhost security]# vim limits.conf

49 user1            -      maxlogins      2

验证

User1 最多只能连接2个,超过的时候就不能登录上去

查看日志如下

Dec 24 00:03:14 localhost sshd[7958]: pam_limits(sshd:session): Too many logins (max 2) for user1

验证user1 可以通过制定ip登录 其他ip不行

注意:每一次做完限制的时候不要忘了清空规则,以免影响后面的测试。

相关推荐