1——叫即插验证模块,应用于验证分离

2——pam的模块放在/etc/security下面

3—–查询某个程序具体使用的哪一个pam模块

例如:

/etc/pam.d/login
/etc/pam.d/sshd
/etc/pam.d/vsftpd

4—对vim /etc/pam.d/login中
第一列 第二列 第三列

Auth required 模块
Account requisite
Password sufficient
Session include
Optional

Auth:是用来检查用户名和密码,还检查用户有没有被锁定
Account:除了用户名和密码以外但是对登录又起决定性作用的,例如,在规定的时间内,网段终端等,和用户名密码没有关系的,还检查用户名有无过期
Password:只有当用户修改密的时候才有用
Session:会话
Required:它想hi后的模块必须通过验证,如果验证成功继续向下验证,最终结果由后续模块决定,如果不成功,互惠返回失败,继续向下验证,但最终结果100%失败
Requisite:也称必要条件,差别在于requisite如果验证成功,继续向下验证,最终结果由后模块决定,如果不成功立刻返回失败

Sufficient:充分条件,后的模块如果验证失败,立刻返回成功,如果不成功继续向下验证,对最终的结果无影响
Include:后跟文件 包含
Optinonal:可选条件,它后面的模块,无论成功与否对最终结果无影响
5—–pam管理员手册
firefox /usr/share/doc/pam-0.99.6.2/html/Linux-PAM_SAG.html
vim /etc/securetty 存放的虚拟终端
vim /etc/security/pam_env.conf 设置环境变量的模块
auth_pam_unix.so 用来验证用户和密码的
account_pam_unix.so 验证用户有没有过期
pam_rootok.so 判断当前用户是否为root
pam_nologin.so 拒绝非root用户登录
pam_access.so 限制用户访问终端
pam_time.so 拒绝某个时间段访问某个服务
6—–pam产生的日志:/var/log/secure

如:touch /etc/nologin 只要存在这个文件,其他的任何用户都登录不进来(终端测试),但是已经登录的没有影响
7——注意:在auth的pam_unix.so系统中和弦的一个pam模块,专门验证下面2个文件
/etc/passwd
/etc/shadow
Auth只检查shadow中的某一行的前两个冒号(:)的部分
在account的pam_unix.so
Account就检查后面剩下的几个冒号的部分

8—-例题:

限制用户访问终端
Vim /etc/pam.d/login
添加: auth required pam_access.so
Vin /etc/security/addess.conf
添加:- : wjx : tty3
拒绝某个人对你sshd
Vim /etc/pam.d/sshd
添加:auth required pam_access.so
Vim /etc/security/access.conf
添加:-:All : 192.168.119.120 # – 代表拒绝

  • 代表允许

决绝某个时间段访问某个服务
Vim /etc/pam.d/login
在account添加:
account required pam_time.so
Vim /etc/security/time.cong

添加:Login; tty5; wjx; Mo1000-2300
echo模块
vin /etc/pam.d/login

添加:
auth required pam_echo.so file=/usr/hell0.txt
touch /usr/hello.txt
vim hello.txt
hello world !!!

(5) 用户登录3次以上就在20秒以内拒绝这个用户登录

Vim /etc/pam.d/login
添加:auth required pam_tally.so deny=3 unlock_time=20