如何在 Linux 上檢查所有使用者密碼到期日期

2020-04-01 10:50:00

如果你在 。密碼必須在到期前進行更改,並且登入到系統時會收到通知。

如果你很少使用自己的帳戶,那麼可能由於密碼過期而被鎖定。在許多情況下,這可能會在無需密碼登入的服務帳戶中發生,因為沒人會注意到它。

這將導致停止伺服器上設定的 cronjob/crontab

如果如此,該如何緩解這種情況。

你可以寫一個 shell 指令碼來獲得有關它的通知,我們前一段時間為此寫了一篇文章。

它將給出天數,但是本文旨在在終端中給你實際日期。

這可以使用 chage 命令來實現。

什麼是 chage 命令?

chage 代表更改時效change age。它更改使用者密碼到期資訊。

chage 命令可以修改兩次密碼更改之間的天數,以及最後一次更改密碼的日期。

系統使用此資訊來確定使用者何時應更改密碼。

它還允許使用者執行其他功能,例如設定帳戶到期日期、在到期後將密碼設定為無效、顯示帳戶時效資訊、設定密碼更改之前的最小和最大天數以及設定到期警告天數。

1)如何在 Linux 上檢查特定使用者的密碼到期日期

如果要檢查 Linux 上特定使用者的密碼到期日期,請使用以下命令。

# chage -l daygeekLast password change                                    : Feb 13, 2020Password expires                                        : May 13, 2020Password inactive                                       : neverAccount expires                                         : neverMinimum number of days between password change          : 7Maximum number of days between password change          : 90Number of days of warning before password expires       : 7

2)如何在 Linux 上檢查所有使用者的密碼到期日期

你可以直接對單個使用者使用 chage 命令,不過可能你對多個使用者使用時可能無效。

為此,你需要編寫一個小的 shell 指令碼。下面的 shell 指令碼可以列出新增到系統中的所有使用者,包括系統使用者。

# for user in $(cat /etc/passwd |cut -d: -f1); do echo $user; chage -l $user | grep "Password expires"; done | paste -d " "  - - | sed 's/Password expires//g'

你將得到類似以下的輸出,但是使用者名稱可能不同。

root                : neverbin                 : neverdaemon              : neveradm                 : neverlp                  : neversync                : nevershutdown            : neveru1               : Nov 12, 2018u2               : Jun 17, 2019u3               : Jun 17, 2019u4               : Jun 17, 2019u5               : Jun 17, 2019

3)如何檢查 Linux 上除系統使用者外的所有使用者的密碼有效期

下面的 shell 指令碼將顯示有到期日期的使用者列表。

# for user in $(cat /etc/passwd |cut -d: -f1); do echo $user; chage -l $user | grep "Password expires"; done | paste -d " "  - - | sed 's/Password expires//g' | grep -v "never"

你將得到類似以下的輸出,但是使用者名稱可能不同。

u1               : Nov 12, 2018u2               : Jun 17, 2019u3               : Jun 17, 2019u4               : Jun 17, 2019u5               : Jun 17, 2019