linux默認用戶的密碼是永不過期的,但是出於安全考慮在企業環境中一般會要求設置過期日期;但有時要求90天就過期,在這種嚴柯條件下我們有可能想給某個或某些用戶開設后門,延長其密碼有效期。
一、用戶密碼配置文件
1.1 /etc/login.defs
密碼有效期配置文件
PASS_MAX_DAYS--新建用戶密碼有效期,默認99999表示永不過期
PASS_MIN_DAYS--新建用戶密碼可修改的最短日期,默認為0,表示隨時可以修改
PASS_MIN_LEN--新建用戶密碼最短長度
PASS_WARN_AGE--密碼過期前開始警告的天數
1.2 /etc/pam.d/system-auth
口令復雜度配置文件
retry--密碼可嘗試次數
minlen--密碼最短長度
lcredit--小寫字母最少個數
ucredit--大寫字母最少個數
dcredit--數字最少個數
ocredit--特殊字符最少個數
minclass--以上四種類型中最少要求有幾種
示例:
password requisite pam_cracklib.so try_first_pass retry=3 minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 difok=3 minclass=3
二、修改指定用戶過期日期
2.1 查看用戶密碼過期情況
chage -l username
以上是我主機ls用戶的密碼過期情況
Last password change--最近一次密碼修改時間
Password expires--密碼過期日期
Password inactive--密碼失效日期
Account expires--賬戶過期日期
Minimum number of days between password change--兩次修改密碼之間相距的最小天數
Maximum number of days between password change--兩次修改密碼之間相距的最大天數
Number of days of warning before password expires--在密碼過期之前警告的天數
2.2 修改密碼過期日期
在上圖可見ls用戶的密碼有效期為90天,我們這里將之修改為10000(如果天數大於或等於99999則表示永不過期)
chage -M 10000 username
就觀查來看chage -M應該只是修改了/etc/shadow中的密碼有效期天數,所以用root直接到/etc/shadow修改有效天數應訪也是等效的
(不過/etc/shadow一般默認沒有寫權限,要手動編緝需要添加寫權限才可修改;這也可以反推出,沒有寫權限不能修改文件內容只是針對用戶態而言)
參考: