/etc/pam.d 與 /etc/security
PAM(Pluggable Authentication Modules )是由Sun提出的一種認證機制。它通過提供一些動態鏈接庫和一套統一的API,將系統提供的服務 和該服務的認證方式分開,使得系統管理員可以靈活地根據需要給不同的服務配置不同的認證方式而無需更改服務程序,同時也便于向系 統中添加新的認證手段。
PAM最初是集成在Solaris中,目前已移植到其它系統中,如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 判斷當前用戶是否為root
pam_nologin.so 拒絕非root用戶登錄
pam_access.so 限制用戶訪問終端
pam_time.so 拒絕某個時間段訪問某個服務
使用方式:
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)決絕某個時間段訪問某個服務 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秒以內拒絕這個用戶登錄
Vim /etc/pam.d/login
添加:auth required pam_tally.so deny=3 unlock_time=20
(6) 如何要求用戶設置的密碼必須包含5個數字,3個特殊符號?
修改/etc/pam.d/system-auth,在password使用pam_cracklib.so設置的最后附加
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中,默認就會通過
pam_limits.so 限制用戶最多使用多少系統資源,因此
只需要在/etc/security/limits.conf 中加入以下內容(RHEL5最后就有,只不過
注釋掉了)
student hard maxlogins 4
(8).某用戶連續登陸失敗3次以上就禁止登陸?
修改/etc/pam.d/system-auth
auth required pam_deny.so
account required pam_tally.so deny=3 #這一行失敗三次就禁止登錄
account required pam_unix.so