
讓我先這樣說:我願意不是具有可用的 root 存取權限。
我最近被鎖定了我的帳戶,因為我不知道密碼即將到期,然後就過去了。我想在我的啟動腳本中新增一個檢查,以檢查並顯示時間,以便我知道時間即將到來。
有沒有指令或方法可以取得我的使用者密碼過期時的時間戳記?
答案1
您應該能夠從chage
實用程式獲取該資訊。不需要 root 即可在清單模式下運作。
注意:這很可能僅適用於passwd
基於本機的身份驗證。我不知道是否可以使其與不將登入資訊放入passwd
/文件的身份驗證模式一起使用shadow
。我猜這些解決方案提供了自己的工具,但不了解它們。
$ chage -l test
Last password change : Apr 17, 2012
Password expires : Apr 27, 2012
Password inactive : never
Account expires : May 20, 2012
Minimum number of days between password change : 0
Maximum number of days between password change : 10
Number of days of warning before password expires : 7
我使用它與快速 awk 一起在登入時顯示我的密碼到期日期。
答案2
在 ldap 中你會做類似的事情:
ldapsearch -x -Z uid=$1 pwdChangedTime | \
grep -vE '^#|^$' | grep pwdChangedTime | awk '{print $2}'
答案3
您chage
可以進行多項更改並可以了解登錄詳細信息,如下所示...
Usage: chage [options] [LOGIN]
Options:
-d, --lastday LAST_DAY set date of last password change to LAST_DAY
-E, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE
-h, --help display this help message and exit
-I, --inactive INACTIVE set password inactive after expiration
to INACTIVE
-l, --list show account aging information
-m, --mindays MIN_DAYS set minimum number of days before password
change to MIN_DAYS
-M, --maxdays MAX_DAYS set maximim number of days before password
change to MAX_DAYS
-W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS
如果您有 Root 存取權限,則可以變更密碼過期時間,只需編輯..
vim /etc/login.defs
只需設定下面的值...
PASS_MAX_DAYS 30
PASS_MIN_DAYS 1
PASS_WARN_AGE 7
它可能對你有幫助