CentOS7密碼復雜度配置


CentOS密碼復雜度配置通過/etc/pam.d/system-auth文件中的pam_cracklib.so模塊來實現。

首先查看/etc/pam.d/system-auth文件

 

 

 可以看到當前並沒有看到pam_cracklib.so模塊

查找資料發現

 

 

 pam_pwquality.so是兼容pam_cracklib.so模塊的,所以pam_cracklib.so的選項也適用於pam_pwquality.so

 

pam_cracklib.so支持的部分選項如下:
retry=N:定義登錄/修改密碼失敗時,可以重試的次數
minlen=N:新密碼的最小長度
dcredit=N:當N>0時表示新密碼中數字出現的最多次數;當N<0時表示新密碼中數字出現最少次數;
ucredit=N: 當N>0時表示新密碼中大寫字母出現的最多次數;當N<0時表示新密碼中大寫字母出現最少次數;
lcredit=N: 當N>0時表示新密碼中小寫字母出現的最多次數;當N<0時表示新密碼中小寫字母出現最少次數;
ocredit=N:當N>0時表示新密碼中特殊字符出現的最多次數;當N<0時表示新密碼中特殊字符出現最少次數;
maxrepeat=N:拒絕包含多於N個相同連續字符的密碼。 默認值為0表示禁用此檢查
maxsequence=N:拒絕包含長於N的單調字符序列的密碼。默認值為0表示禁用此檢查。實例是'12345'或'fedcb'。除非序列只是密碼的一小部分,否則大多數此類密碼都不會通過簡單檢查。
enforce_for_root: 如果用戶更改密碼是root,則模塊將在失敗檢查時返回錯誤。默認情況下,此選項處於關閉狀態,只打印有關失敗檢查的消息,但root仍可以更改密碼。不要求root用戶輸入舊密碼,因此不會執行比較舊密碼和新密碼的檢查
 
接下來修改system-auth文件,配置密碼復雜度策略

 

在system-auth文件中 pam_pwquality.so后添加minlen=8 dcredit=-2 ucredit=-1 lcredit=-1 ocredit=-1

參數含義:密碼長度最小為8位,數字出現的最少次數為2次,大寫字母出現最少1次,小寫字母出現最少1次,特殊字符出現最少1次

 

 保存退出后,進行測試密碼復雜度配置是否生效

 

 

 新建一個test賬戶,使用root賬戶設置test賬戶的密碼為test,密碼修改成功。(證明root賬戶不受pam認證規則的限制

 

 

然后切換到test賬戶設置test賬戶的密碼。這里嘗試設置密碼為Pw39@。

報錯提示大寫字母少於8位,說明minlen=8已經生效。

 

接下來嘗試設置密碼為Pwqwert@

 報錯提示數字少於2位,說明dcredit=-2已經生效。

 

接下來嘗試設置密碼為pw12qwer@

 報錯提示大寫字母少於1位,說明ucredit=-1已經生效。

passwd:Have exhausted maximum number of retries for service(passwd:已經用盡了最多可重試的服務次數),說明retry=3已經生效。

 

接下來重新設置密碼,嘗試設置密碼為PW12QWER@

 報錯提示小寫字母少於1位,說明lcredit=-1已經生效。

 

接下來嘗試設置密碼為Pw12qwer

 報錯提示特殊字符少於1位,說明ocredit=-1已經生效。

 

限制root用戶

vi etc/pam.d/system-auth

在sysstem-auth文件中pam_pwquality.so行添加enforce_for_root

 

然后測試是否root被限制,也要遵守密碼復雜度策略

用root賬戶設置test賬戶密碼為Pw12qwer

 

 報錯提示特殊字符少於1位,說明root用戶已經被限制,也要遵守pam認證規則。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM