1、密碼有效期
方法一:
chage -l 用戶名 查看用戶的過期時間
chage -M 99999 用戶名 用命令修改過期時間為永久
chage -M 90 用戶名 設置密碼有效期為90天
chage -d 0 用戶名 強制用戶登陸時修改口令
chage -d 0 -m 0 -M 90 -W 15 用戶名 強制用戶下次登陸時修改密碼,並且設置密碼最低有效期0和最高有限期90,提前15天發警報提示
chage -E '2020-09-30' 用戶名 這個賬號的有效期是2020-09-30
方法二:
vim /etc/login.defs
PASS_MAX_DAYS 90 #密碼最長過期天數
PASS_MIN_DAYS 80 #密碼最小過期天數
PASS_MIN_LEN 10 #密碼最小長度
PASS_WARN_AGE 7 #密碼過期警告天數
2、設置復雜度
方法一:(這個沒有成功過,嘗試方法二成功了)
pam_cracklib.so 才是控制密碼復雜度的關鍵文件/lib/security/pam_cracklib.so
[root@DB-Server security]# man pam_cracklib
retry=N
改變輸入密碼的次數,默認值是1。就是說,如果用戶輸入的密碼強度不夠就退出。可以使用這個選項設置輸入的次數,以免一切都從頭再來
minlen=N
新密碼最小長度
difok=N
默認值為10。這個參數設置允許的新、舊密碼相同字符的個數。不過,如果新密碼中1/2的字符和舊密碼不同,則新密碼被接受
dcredit=N
新密碼中數字個數
ucredit=N
新密碼中大寫字符個數
lcredit=N
新密碼中小寫字符個數
ocredit=N
新密碼中特殊字符個數
方法二:修改/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
注意:管理員root去修改用戶密碼時,雖然會提示密碼不符合,但是最終密碼會修改成功,因為管理員會跳過規則,所以修改密碼時用非管理員賬號是符合這個規則的