1、密碼過期策略
# vim /etc/login.defs
PASS_MAX_DAYS 99999
# 一個密碼最長可以使用的天數;
PASS_MIN_DAYS 0
# 更換密碼的最小天數;
PASS_MIN_LEN 5
# 密碼的最小長度;
PASS_WARN_AGE 7
# 密碼失效前提前多少天數開始警告;
2、PASS_MIN_LEN 5
# 該配置不會生效,需要在/etc/pam.d/system-auth配置文件中添加minlen=13(密碼最小長度為12)密碼長度策略
# password requisite pam_pwquality.so try_first_pass local_users_only retry=3 minlen=13 authtok_type=
3、說明
# /etc/login.defs和/etc/pam.d/system-auth配置文件修改后對之前創建的用戶不生效,對以后創建的用戶生效。
# 對之前創建的用戶修改密碼過期策略的可以使用chage命令,參數如下:
# chage --help
用法:chage [選項] 登錄
選項:
-d, --lastday 最近日期 將最近一次密碼設置時間設為“最近日期”
-E, --expiredate 過期日期 將帳戶過期時間設為“過期日期”
-h, --help 顯示此幫助信息並推出
-I, --inactive INACITVE 過期 INACTIVE 天數后,設定密碼為失效狀態
-l, --list 顯示帳戶年齡信息
-m, --mindays 最小天數 將兩次改變密碼之間相距的最小天數設為“最小天數”
-M, --maxdays 最大天數 將兩次改變密碼之間相距的最大天數設為“最大天數”
-R, --root CHROOT_DIR chroot 到的目錄
-W, --warndays 警告天數 將過期警告天數設為“警告天數”
# 密碼過期后,登錄linux需要輸舊密碼並強制更新密碼
# 使用root用戶為普通用戶更新密碼時可以不遵守密碼最小長度的策略,但是普通用戶更新自身密碼時會遵循。
4 示例
(1) root用戶密碼默認過期策略
# chage -l root
最近一次密碼修改時間 :從不
密碼過期時間 :從不
密碼失效時間 :從不
帳戶過期時間 :從不
兩次改變密碼之間相距的最小天數 :0
兩次改變密碼之間相距的最大天數 :99999
在密碼過期之前警告的天數 :7
(2) 更改密碼過期策略后,新建test用戶,test用戶的密碼過期策略
1) 修改/etc/login.defs配置文件
# vim /etc/login.defs
PASS_MAX_DAYS 42
PASS_MIN_DAYS 0
PASS_MIN_LEN 12
PASS_WARN_AGE 30
2) 修改/etc/pam.d/system-auth配置文件
# vim /etc/pam.d/system-auth
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 minlen=13 authtok_type=
3) 創建test用戶並查看密碼過期策略
# useradd test
# echo "Linux@2020" | passwd --stdin test
更改用戶 test 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。
# chage -l test
最近一次密碼修改時間 :10月 13, 2020
密碼過期時間 :11月 24, 2020
密碼失效時間 :從不
帳戶過期時間 :從不
兩次改變密碼之間相距的最小天數 :0
兩次改變密碼之間相距的最大天數 :42
在密碼過期之前警告的天數 :30
# su - test
上一次登錄:二 10月 13 16:00:26 CST 2020pts/0 上
$ passwd
更改用戶 test 的密碼 。
為 test 更改 STRESS 密碼。
(當前)UNIX 密碼:
新的 密碼:
無效的密碼: 密碼少於 12 個字符
新的 密碼:
無效的密碼: 密碼少於 12 個字符
新的 密碼:
無效的密碼: 密碼少於 12 個字符
passwd: 已經超出服務重試的最多次數
$