vim /etc/pam.d/system-auth
password requisite pam_cracklib.so try_first_pass retry=3 minlen=10 difok=3 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1 type=node
找到同時有 「password」 和 「pam_cracklib.so」 字段而且附加有 「minlen=10」 的那行,它表示最小密碼長度爲(10 - 類型數量)。vim
這裏的 「類型數量」 表示不一樣的字符類型數量。PAM 提供4種類型符號做爲密碼(大寫字母、小寫字母、數字和標點符號)。ssh
若是你的密碼同時用上了這4種類型的符號,而且你的 minlen 設爲10,那麼最短的密碼長度容許是6個字符ui
找到同時有 「password」 和 「pam_cracklib.so」 字段而且附加有 「ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1」 的那行,spa
它表示密碼必須至少包含一個大寫字母(ucredit),兩個小寫字母(lcredit),一個數字(dcredit)和一個標點符號(ocredit)3d
vim /etc/pam.d/sshd 只在遠程telnet、ssh登錄上作限制,能夠編輯以下文件,添加的內容和上方也同樣。
vim /etc/pam.d/login 只在本地文本終端上作限制,能夠編輯以下文件,添加的內容和上方同樣。code
auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=10blog
even_deny_root 也限制root用戶;
deny 設置普通用戶和root用戶連續錯誤登錄的最大次數,超過最大次數,則鎖定該用戶
unlock_time 設定普通用戶鎖定後,多少時間後解鎖,單位是秒;
root_unlock_time 設定root用戶鎖定後,多少時間後解鎖,單位是秒; crontab
此處使用的是 pam_tally2 模塊,若是不支持 pam_tally2 可使用 pam_tally 模塊。另外,不一樣的pam版本,it
設置可能有所不一樣,具體使用方法,能夠參照相關模塊的使用規則。
由於pam_tally沒有自動解鎖的功能,因此,在設置限制時,要多加註意,萬一全作了限制,
而root用戶又被鎖定了,就只可以進單用戶模式解鎖了,固然,也能夠添加crontab任務,達到定時自動解鎖的功能,
但須要注意的是,若是在/etc/pam.d/system-auth 文件中添加了pam_tally的話,當root被鎖定後,crontab任務會失效,
因此,最好不要在system-auth 文件中添加pam_tally。
root用戶執行 crontab -e 命令,添加以下內容
2 */1 * * * * /usr/bin/faillog -r
意思是,每1分鐘,將全部用戶登錄失敗的次數清空,並將全部用戶解鎖。
[root@node100 pam.d]# pam_tally2 --user redhat Login Failures Latest failure From redhat 7 07/16/12 15:18:22 tty1
[root@node100 pam.d]# pam_tally2 -r -u redhat Login Failures Latest failure From redhat 7 07/16/12 15:18:22 tty1