chage簡介
chage用來檢視和修改使用者賬号和密碼過期時間資訊。
chage可以修改的内容包括:密碼過期時間,上一次密碼修改時間,賬戶過期時間等。
系統管理者可以使用此指令管理賬戶的有效時間。
chage使用執行個體
隻有root使用者或者具有sudo權限使用者可以執行chage指令。
chage使用使用者名作為參數。
文法:
$ sudo chage [options] user
options選項:
-m:密碼可更改的最小天數。為零時代表任何時候都可以更改密碼。
-M:密碼保持有效的最大天數。
-w:使用者密碼到期前,提前收到警告資訊的天數。
-E:帳号到期的日期。過了這天,此帳号将不可用。
-d:上一次更改的日期。
-i:停滞時期。如果一個密碼已過期這些天,那麼此帳号将不可用。
-l:例出目前的設定。由非特權使用者來确定他們的密碼或帳号何時過期。
1 顯示賬戶的實效資訊
通過參數 -l顯示賬戶的時效資訊
$ sudo chage -l user
示例:
$ chage -l yunzhong
Last password change : Jun 14, 2022
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
2 使用指令修改賬戶的上一次密碼變更日期
可以使用參數-d 或者 --lastday 修改上一次密碼變更日期。參數可以是 天數(NUM_DAYS)也可以是一個指定的日期。如果是一個天數,會自動從 January 1st, 1970. 計算,往後添加天數。日期的格式:YYYY-MM-DD。
$ sudo chage -d YYYY-MM-DD user
或者
$ sudo chage --lastday YYYY-MM-DD user
示例:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
[sudo] password for yunzhong:
Last password change : Sep 07, 2022
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -d 2022-01-01 test1
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
Last password change : Jan 01, 2022
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
3 chage 指令設定賬号過期時間
chage可以設定或者修改賬号的過期日期,選項為-E或者--expiredate。
指令格式:
$ sudo chage -E YYYY-MM-DD user
或者
$ sudo chage --expiredate YYYY-MM-DD user
示例:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -E 2022-12-01 test1
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
Last password change : Jan 01, 2022
Password expires : never
Password inactive : never
Account expires : Dec 01, 2022
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
4 chage指令修改賬戶最小的密碼修改
可以使用參數-m 或者 --mindays 設定修改密碼的最小間隔。使用者不能再最小時間間隔之内多次修改密碼。數字0代表沒有限制。
指令格式:
$ sudo chage -m NUM_DAYS user
或者
$ sudo chage --mindays NUM_DAYS user
示例:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
Last password change : Jan 01, 2022
Password expires : never
Password inactive : never
Account expires : Dec 01, 2022
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -m 2 test1
[sudo] password for yunzhong:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
Last password change : Jan 01, 2022
Password expires : never
Password inactive : never
Account expires : Dec 01, 2022
Minimum number of days between password change : 2
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
yunzhong@DESKTOP-9VB7LN7:~$
5 設定password修改的最大時間間隔
password将會在最大時間間隔之後失效。使用者可以通過-M 或者 --maxdays 修改最大時間間隔。-1代表未設定。
指令格式:
$ sudo chage -M NUM_DAYS user
或者
$ sudo chage --maxdays NUM_DAYS user
示例:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -M 10 test1
[sudo] password for yunzhong:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
Last password change : Jan 01, 2022
Password expires : Jan 11, 2022
Password inactive : never
Account expires : Dec 01, 2022
Minimum number of days between password change : 2
Maximum number of days between password change : 10
Number of days of warning before password expires : 7
yunzhong@DESKTOP-9VB7LN7:~$
6 設定密碼超期後多久之後不可用
通過 -I 或 --inactive 參數,設定密碼在超期後多少天之後不可用。賬戶會被鎖定而不可用。
$ sudo chage -I NUM_DAYS user
或者
$ sudo chage --inactive NUM_DAYS user
示例:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -I 10 test1
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
Last password change : Jan 01, 2022
Password expires : Jan 11, 2022
Password inactive : Jan 21, 2022
Account expires : Dec 01, 2022
Minimum number of days between password change : 2
Maximum number of days between password change : 10
Number of days of warning before password expires : 7
7 設定在password失效之前多少天開始預警
在使用者密碼失效之前,提前進行預警。可以通過 -W 或者 --warndays 修改天數。
$ sudo chage -W NUM_DAYS user
或者
$ sudo chage --warndays NUM_DAYS user
示例:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -W 10 test1
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
Last password change : Jan 01, 2022
Password expires : Jan 11, 2022
Password inactive : Jan 21, 2022
Account expires : Dec 01, 2022
Minimum number of days between password change : 2
Maximum number of days between password change : 10
Number of days of warning before password expires : 10
8 chage預設參數
使用者可以使用chage,卻不傳輸任何參數。指令将會互動式的讓使用者輸入所有的設定資訊。使用者可以設定一個新的值,或者什麼都不設定保留目前的值。目前的值将會在[]中顯示。
指令格式:
$ sudo chage user
示例:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage test1
Changing the aging information for test1
Enter the new value, or press ENTER for the default
Minimum Password Age [2]: 3
Maximum Password Age [10]: 30
Last Password Change (YYYY-MM-DD) [2022-01-01]:
Password Expiration Warning [10]: 15
Password Inactive [10]: 5
Account Expiration Date (YYYY-MM-DD) [2022-12-01]:
yunzhong@DESKTOP-9VB7LN7:~$ chage -l test1
chage: Permission denied.
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
Last password change : Jan 01, 2022
Password expires : Jan 31, 2022
Password inactive : Feb 05, 2022
Account expires : Dec 01, 2022
Minimum number of days between password change : 3
Maximum number of days between password change : 30
Number of days of warning before password expires : 15
9 設定密碼超期時間為never
将值設定為-1,代表never,即不生效。
指令格式:
$ sudo chage -M -1 user
示例:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -M -1 test1
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
Last password change : Jan 01, 2022
Password expires : never
Password inactive : never
Account expires : Dec 01, 2022
Minimum number of days between password change : 3
Maximum number of days between password change : -1
Number of days of warning before password expires : 15
10 删除失效日期設定
和上面的類似,将值設定為-1.
指令格式:
$ sudo chage -E -1 user
示例:
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -E -1 test1
yunzhong@DESKTOP-9VB7LN7:~$ sudo chage -l test1
Last password change : Jan 01, 2022
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 3
Maximum number of days between password change : -1
Number of days of warning before password expires : 15