介紹如何在 Linux 系統中透過 /etc/login.defs
設定檔與 chage
指令,設定使用者密碼的使用期限。
相關文章:
Linux 停用使用者帳號、設定使用期限教學與範例
Linux 強制使用者下次登入修改密碼教學
Linux 不重複使用前三次密碼 PAM 設定教學與範例
Linux 強制密碼最低複雜度 pam_pwquality 設定教學與範例
Linux 停用使用者帳號、設定使用期限教學與範例
Linux 強制使用者下次登入修改密碼教學
Linux 不重複使用前三次密碼 PAM 設定教學與範例
Linux 強制密碼最低複雜度 pam_pwquality 設定教學與範例
/etc/login.defs
密碼設定檔
Linux 系統的下有一個 /etc/login.defs
密碼設定檔,在這個檔案中定義了 shadow 密碼的各種設定值,其中有三個設定跟密碼的使用期限有關:
# 密碼使用期限設定 # PASS_MAX_DAYS:密碼最長使用天數 # PASS_MIN_DAYS:密碼最短使用天數 # PASS_WARN_AGE:設定密碼過期前幾天,系統要發出警告 PASS_MAX_DAYS 99999 PASS_MIN_DAYS 0 PASS_WARN_AGE 7
這三個參數的意義如下:
PASS_MAX_DAYS
- 密碼最長使用天數,如果密碼使用天數超過這個數值,就必須立即更換密碼。若沒有設定此選項,預設值是
-1
,代表沒有使用期限(密碼永久有效)。 PASS_MIN_DAYS
- 密碼最短使用天數,也就是兩次變更密碼之間至少要間隔的天數,如果沒有達到此天數,就無法變更密碼。預設值是
-1
,代表沒有最短使用天數的限制。 PASS_WARN_AGE
- 設定密碼過期前幾天,系統要發出警告,若設定為
0
則代表到期當天才發出警告,若設定為負值則代表完全不發出警告。預設值為不發出警告。
以上 PASS_MAX_DAYS
、PASS_MIN_DAYS
、PASS_WARN_AGE
三個選項的設定只會在新增帳號時被使用,更改這些設定值並不會影像系統上既有的帳號。
chage
指令
chage
指令可以用來設定使用者的密碼使用期限,-m
或 --mindays
可以用來設定密碼最短使用天數:
# 設定 myuser 密碼最短使用天數為 7 天 chage -m 7 myuser
-M
或 --maxdays
可以用來設定密碼最長使用天數:
# 設定 myuser 密碼最長使用天數為 90 天 chage -M 90 myuser
-W
或 --warndays
則是可以設定密碼過期前幾天,系統要發出警告:
# 設定 myuser 密碼過期 7 天前系統發出警告 chage -W 7 myuser