1、Linux對應的密碼政策子產品有:pam_passwdqc 和 pam_pwquality 。其中pam_passwdqc子產品對應的是/etc/login.defs,pam_pwquality對應的是/etc/security/pwquality.conf
2、子產品的添加方法:/etc/pam.d/passwd
password required pam_pwquality.so retry=3
3、子產品的配置方法有兩種:
一、password required pam_pwquality.so dcredit=-1 ucredit=-1 ocredit=-1 lcredit=0
二、添加到/etc/security/pwquality.conf 中
4、/etc/security/pwquality.conf詳解:
retry=N:定義登入/修改密碼失敗時,可以重試的次數;
Difok=N:定義新密碼中必須有幾個字元要與舊密碼不同。但是如果新密碼中有1/2以上的字元與舊密碼不同時,該新密碼将被接受;
minlen=N:定義使用者密碼的最小長度;
dcredit=N:定義使用者密碼中必須包含多少個數字;
ucredit=N:定義使用者密碼中必須包含多少個大寫字母;
lcredit=N:定義使用者密碼中必須包含多少個小些字母;
ocredit=N:定義使用者密碼中必須包含多少個特殊字元(除數字、字母之外);
其中 =-1表示,至少有一個
5、/etc/login.defs詳解:
PASS_MAX_DAYS 99999 #密碼的最大有效期, 99999:永久有期
PASS_MIN_DAYS 0 #是否可修改密碼,0可修改,非0多少天後可修改
PASS_MIN_LEN 5 #密碼最小長度,使用pam_cracklib module,該參數不再有效
PASS_WARN_AGE 7 #密碼失效前多少天在使用者登入時通知使用者修改密碼
6、實際生産環境配置
/etc/security/pwquality.conf :
minlen = 8
minclass = 1
maxrepeat = 0
maxclassrepeat = 4
lcredit = -1
ucredit = -1
dcredit = -1
ocredit = -1
difok=5
/etc/login.defs:
PASS_MAX_DAYS 90
PASS_MIN_LEN 12
PASS_MIN_DAYS 7
PASS_WARN_AGE 30
UMASK 077