在CentOS下設置密碼復雜度分為兩步
(1)修改/etc/login.defs文件
vim /etc/login.defs
PASS_MAX_DAYS 90 # 密碼最長過期天數
PASS_MIN_DAYS 80 # 密碼最小過期天數
PASS_MIN_LEN 10 # 密碼最小長度
PASS_WARN_AGE 7 # 密碼過期警告天數
(2)修改/etc/pam.d/system-auth文件
vim /etc/pam.d/system-auth
在 password requisite pam_cracklib.so 一行換成如下內容:
password requisite pam_cracklib.so retry=5 difok=3 minlen=10 ucredit=-1 lcredit=-3 dcredit=-3 dictpath=/usr/share/cracklib/pw_dict
參數含義:
嘗試次數:5 ;最少不同字符:3 ;最小密碼長度:10 ;最少大寫字母:1;最少小寫字母:3 ;最少數字:3 ;字典位置:/usr/share/cracklib/pw_dict
使用vracklib檢查密碼復雜度
$ sudo yum install cracklib # 安裝cracklib
$ echo "mypassword" | cracklib-check # 密碼為mypassword時,檢查情況
password: it is based on a dictionary word # 它基於字典單詞
$ echo "123" | cracklib-check # 密碼為123時,檢查情況
123: it is WAY too short # 密碼太短了
$ echo "ME$2w!@fgty6723" | cracklib-check # 密碼為ME$2w!@fgty6723,檢查情況
ME!@fgty6723: OK # OK,說明復雜度很好
使用pwscore檢查密碼復雜度
$ sudo yum install libpwquality # 安裝pwscore
$ echo "password" | pwscore # 給密碼password打分
Password quality check failed: # 密碼特性查檢失敗
The password fails the dictionary check - it is based on a dictionary word # 密碼是一個字典
$ echo "123" | pwscore # 給密碼123打分
Password quality check failed: # 密碼檢查失敗
The password is shorter than 8 characters # 密碼太短,少於8位字符
$ echo "ME!@fgty6723" | pwscore # 給密碼ME!@fgty6723打分
90 # 90分