您好,登錄后才能下訂單哦!
如果你在 Linux 上啟用了密碼策略。密碼必須在到期前進行更改,并且登錄到系統(tǒng)時會收到通知。如果你很少使用自己的帳戶,那么可能由于密碼過期而被鎖定。在許多情況下,這可能會在無需密碼登錄的服務(wù)帳戶中發(fā)生,因為沒人會注意到它。 |
如上這將導(dǎo)致停止服務(wù)器上配置的 cronjob/crontab。如果如此,該如何緩解這種情況。你可以寫一個 shell 腳本來獲得有關(guān)它的通知,我們前一段時間為此寫了一篇文章。《使用 Bash 腳本發(fā)送包含幾天內(nèi)到期的用戶賬號列表的電子郵件》它將給出天數(shù),但是本文旨在在終端中給你實際日期。這可以使用 chage 命令來實現(xiàn)。
chage 代表更改時效change age。它更改用戶密碼到期信息。
chage 命令可以修改兩次密碼更改之間的天數(shù),以及最后一次更改密碼的日期。
系統(tǒng)使用此信息來確定用戶何時應(yīng)更改密碼。
它還允許用戶執(zhí)行其他功能,例如設(shè)置帳戶到期日期、在到期后將密碼設(shè)置為無效、顯示帳戶時效信息、設(shè)置密碼更改之前的最小和最大天數(shù)以及設(shè)置到期警告天數(shù)。
如果要檢查 Linux 上特定用戶的密碼到期日期,請使用以下命令。
# chage -l daygeek Last password change : Feb 13, 2020 Password expires : May 13, 2020 Password inactive : never Account expires : never Minimum number of days between password change : 7 Maximum number of days between password change : 90 Number of days of warning before password expires : 7
你可以直接對單個用戶使用 chage 命令,不過可能你對多個用戶使用時可能無效。
為此,你需要編寫一個小的 shell 腳本。下面的 shell 腳本可以列出添加到系統(tǒng)中的所有用戶,包括系統(tǒng)用戶。
# 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 : never bin : never daemon : never adm : never lp : never sync : never shutdown : never u1 : Nov 12, 2018 u2 : Jun 17, 2019 u3 : Jun 17, 2019 u4 : Jun 17, 2019 u5 : Jun 17, 2019
下面的 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, 2018 u2 : Jun 17, 2019 u3 : Jun 17, 2019 u4 : Jun 17, 2019 u5 : Jun 17, 2019
原文地址: https://www.linuxprobe.com/linux-check-user-account.html
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。