可以修改密碼可以通過login.defs文件控制。設置密碼過期期限(默認情況下,用戶的密碼永不過期。)編輯 /etc/login.defs 文件,可以設置當前密碼的有效期限,具體變量如下所示:
# 查看默認配置[root@iZm5e7avacv1htxtp7qbdyZ etc]# cat login.defs | grep PASS*# PASS_MAX_DAYS Maximum number of days a password may be used.# PASS_MIN_DAYS Minimum number of days allowed between password changes.# PASS_MIN_LEN Minimum acceptable password length.# PASS_WARN_AGE Number of days warning given before a password expires.PASS_MAX_DAYS 99999PASS_MIN_DAYS 0PASS_MIN_LEN 5PASS_WARN_AGE 7# 修改參數[root@iZm5e7avacv1htxtp7qbdyZ etc]# sed -i -r 's/(PASS_MAX_DAYS)\s+[0-9]+/\1 90/' login.defs[root@iZm5e7avacv1htxtp7qbdyZ etc]# sed -i -r 's/(PASS_MIN_LEN)\s+[0-9]+/\1 8/' login.defs# 檢查修改後的結果[root@iZm5e7avacv1htxtp7qbdyZ etc]# cat login.defs | grep PASS*
參數說明:
PASS_MAX_DAYS:密碼可以使用的最多天數
PASS_MIN_DAYS:密碼更改之間允許的最小天數
PASS_MIN_LEN:可接受的最小密碼長度
PASS_WARN_AGE:密碼過期前發出警告的天數
linux 用戶密碼複雜度用戶密碼複雜度規則設定,需要通過/etc/pam.d/system-auth文件去控制(針對的是普通用戶修改密碼會生效,root用戶無效),centos6中默認是通過pam_cracklib.so模塊控制,(在CentOS 7上實現密碼複雜度策略設置,主要是使用PAM pwquality模塊完成):
相關參數說明:
retry=3 定義登錄/修改密碼失敗時,可以重試的次數;
type=xxx 當添加/修改密碼時,系統給出的缺省提示符是什麽,用來修改缺省的密碼提示文本。默認是不修改的,如上例。
minlen=8 定義用戶密碼的最小長度爲8位
ucredit=-1 定義用戶密碼中最少有2個大寫字母 (數字爲負數,表示至少有多少個大寫字母;數字爲正數,表示至多有多少個大寫字母;下面同理)
lcredit=-1 定義用戶密碼中最少有4個小寫字母
dcredit=-1 定義用戶密碼中最少有1個數字
ocredit=-1 定義用戶密碼中最少有1個特殊字符(除數字、字母之外)
remember=3 修改用戶密碼時最近5次用過的舊密碼就不能重用了
difok=n 此選項用來規定新密碼中必需有n個字符與舊密碼不同。
minclass=n 此選項用來規定新密碼中的字符類別的最小數目,字符一般有四種類別:數字、大寫字母、小寫字母,以及特殊字符。
linux 設置登錄失敗5次,鎖定時間爲5分鍾限制登錄通常由/etc/pam.d/login文件限制的,可直接在#%PAM-1.0下,直接添加一行
# 不限制root用戶auth required pam_tally2.so deny=3 unlock_time=5# 限制root用戶auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=10
本文使用的是 pam_tally2 模塊,如果不支持 pam_tally2 模塊可以使用 pam_tally 模塊,不同的模塊設置不同,請參考模塊使用方法進行設置
也可以直接在/etc/pam.d/system-auth中設
auth required pam_tally2.so onerr=fail unlock_time=1800 no_magic_rootaccount required pam_tally2.so deny=5 unlock_time=1800 no_magic_root even_deny_root_account per_user reset
參數說明:
auth: 表示這是認證階段的規則。
required: 表示此模塊是必需的,如果它失敗,則認證失敗。
pam_tally.so: 是PAM模塊,用于跟蹤用戶登錄失敗的次數。
onerr=fail: 如果pam_tally.so模塊遇到錯誤,則認證失敗。
Unlock_time=1800: 指定用戶賬戶在被鎖定後多長時間(以秒爲單位)自動解鎖。這裏是1800秒,即30分鍾-
no_magic_root: 禁止root用戶使用特殊權限來繞過登錄失敗次數的限制。
account: 表示這是賬戶管理階段的規則。
deny=5: 指定在連續登錄失敗5次後,用戶賬戶將被鎖定。
even_deny_root_account: 即使對root用戶也執行賬戶鎖定策略。
per_user: 鎖定策略是基于每個用戶的,而不是全局的。
reset: 當用戶成功登錄後,重置登錄失敗計數器。
建議不要限制root用戶,因爲pam_tally沒有解鎖功能,哪怕配置了unlock_time也是不生效的
使用pam_tally2 -r -u username手動解鎖用戶
使用pam_tally2 –u username查看用戶錯誤登錄次數
更多相關參數請參考https://www.linux.org/docs/man8/pam_tally2.html
參考文檔https://www.linux.org/docs/man8/pam_tally2.html
問題反饋若對文中有任何的疑問,或者需要幫助可以通過以下方式進行反饋
直接進行評論或者單獨私聊
發送郵件到:mr_xuansu@163.com