PAM(Pluggable Authentication Modules )是由Sun提出的一種認(rèn)證機(jī)制。它通過提供一些動態(tài)鏈接庫和一套統(tǒng)一的API,將系統(tǒng)提供的服務(wù) 和該服務(wù)的認(rèn)證方式分開,使得系統(tǒng)管理員可以靈活地根據(jù)需要給不同的服務(wù)配置不同的認(rèn)證方式而無需更改服務(wù)程序,同時也便于向系 統(tǒng)中添加新的認(rèn)證手段。
PAM最初是集成在Solaris中,目前已移植到其它系統(tǒng)中,如Linux、SunOS、HP-UX 9.0等/etc/pam.d下的文件存放的各個命令的pam模塊的配置,比如:查詢某個程序具體使用的哪一個pam模塊
例如:
/etc/pam.d/login
/etc/pam.d/sshd
/etc/pam.d/vsftpd
而/etc/security下的文件則對于每個pam模塊又做了具體的配置,比如:
parm_limits.so的配置文件就是/etc/security/limits.
其他的pam模塊:
auth_pam_unix.so 用來驗證用戶和密碼的
account_pam_unix.so 驗證用戶有沒有過期
pam_rootok.so 判斷當(dāng)前用戶是否為root
pam_nologin.so 拒絕非root用戶登錄
pam_access.so 限制用戶訪問終端
pam_time.so 拒絕某個時間段訪問某個服務(wù)
使用方式:
1)限制用戶訪問終端 Vim /etc/pam.d/login
添加: auth required pam_access.so
Vin /etc/security/addess.conf
添加:- : wjx : tty3
2)拒絕某個人對你sshd Vim /etc/pam.d/sshd
添加:auth required pam_access.so
Vim /etc/security/access.conf
添加:-:All : 192.168.119.120 # – 代表拒絕
+ 代表允許
3)決絕某個時間段訪問某個服務(wù) Vim /etc/pam.d/login
在account添加:account required pam_time.so
Vim /etc/security/time.cong
添加:Login; tty5; wjx; Mo1000-2300
4)echo模塊 vim/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秒以內(nèi)拒絕這個用戶登錄
Vim /etc/pam.d/login
添加:auth required pam_tally.so deny=3 unlock_time=20
(6) 如何要求用戶設(shè)置的密碼必須包含5個數(shù)字,3個特殊符號?
修改/etc/pam.d/system-auth,在password使用pam_cracklib.so設(shè)置的最后附加
dcredit=5,ocredit=3
password requisite pam_cracklib.so try_first_pass retry=3 dcredit=5
ocredit=3
(7)如何限制student最多同時登陸4個?
這需要pam_limits.so模塊。由于/etc/pam.d/system-auth中,默認(rèn)就會通過
pam_limits.so 限制用戶最多使用多少系統(tǒng)資源,因此
只需要在/etc/security/limits.conf 中加入以下內(nèi)容(RHEL5最后就有,只不過
注釋掉了)
student hard maxlogins 4
(8).某用戶連續(xù)登陸失敗3次以上就禁止登陸?
修改/etc/pam.d/system-auth
auth required pam_deny.so
account required pam_tally.so deny=3 #這一行失敗三次就禁止登錄
account required pam_unix.so
分享標(biāo)題:/etc/pam.d與/etc/security
本文來源:
http://weahome.cn/article/jicjcj.html