如何使用 chage 命令

chage 命令用于檢查和更改用戶密碼的到期日期。利用該命令,系統管理員可以查看用戶密碼是什么時候修改的,可以修改這個日期,也可以在一定時間內凍結用戶賬戶。
下面我們討論幾個關于 chage 命令常見的例子。
查看用戶賬戶的變更信息
要查看用戶賬戶的變更信息,可以使用 chage 命令和 -l 選項,如下所示:

這里:
- Last password chage 指示最近更改密碼的日期;
- Password expires 顯示密碼的到期日期;
- Password inactive 將顯示密碼過期后賬戶處于非活動狀態的天數;
- Minimum number of days between password change 顯示兩次密碼更改之間所需的最短間隔時間;
- Maximum number of days between password change 顯示當前密碼還可使用的天數(當前密碼需要更改的剩余天數)。
一旦您知道了所有字段的用法,您就可以使用以下命令在交互模式下使用chage命令,它會逐一檢查每個字段:

鎖定用戶賬戶
chage 命令最常見的用途就是鎖定用戶賬戶。鎖定用戶的語法如下:
比如,接下來我們鎖定一個用戶名為 sagar 的賬戶:

一旦執行了鎖定賬戶的命令,該賬戶就不能再登錄系統了。
上述命令中,-E 選項用于設置賬戶的到期日期,然后 0 就是設定的其到期日期。
強制用戶下次登錄時更改密碼
chage 命令還可以用于強制用戶在下次登錄時修改密碼,通過如下命令來實現:

設置帳戶到期日期
要設置用戶賬戶的到期日期,可使用 -E 選項,后面跟具體的到期日期和用戶名。比如,我們將用戶 sagar 的到期日期設置為 2023年 4 月 11日:

以系統管理員身份刪除帳戶到期日期
當你的賬戶過期后,系統會發送一個報錯信息:"account validation failure, is your account locked?"

解決這個問題,首先就是需要使用 su 命令獲取 root 訪問權限,然后執行如下命令:

然后再使用 chage 命令檢查一下用戶的信息,如下:

設置密碼最大有效期(天數)
設置密碼的有效期,可使用 -M 選項,如下所示:
比如,我們設置密碼在使用 5 天后需要更改:

設置密碼過期后賬戶處于非活動狀態的天數
帳戶不活動字段指示密碼過期后帳戶將保持不活動狀態的天數。要設置非活動時間,可使用 -I 選項,如下:
比如,我們將賬戶的不活動時間設置為 12 天:

上面例子中,密碼過期日期為 2023年 1 月 15 日,所以添加 12 天的非活動時間后,它的密碼非活動字段顯示為 2023 年 1 月 27 日。
在需要更改密碼之前通知用戶
我們可以使用 -W 選項來設置密碼過期前的警告天數:
例如,如果我們想在密碼到期 2 天之前發出警告,可以使用以下命令:

最后,不添加任何選項的情況下執行 chage 命令,可進入 chage 命令的交互模式,可更改每個信息:




























