天天看點

一個第一反應是拼寫錯誤的linux指令:chage

作者:雲中漫步

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           

繼續閱讀