Command-Line

如何檢索有關鎖定帳戶的資訊

  • May 6, 2013

是否可以檢索有關鎖定的 unix 帳戶的資訊?我有興趣查看有關鎖定發生的日期和時間以及來自哪個主機名(PC 名稱)的資訊。我想看到類似於who命令的東西。

我不相信這些資訊會保存在任何地方。他們唯一的地方是您可以從sudo命令日誌中獲取一些此類資訊,假設您正在使用sudo並且您的sudo設置授予權限以便您登錄單個命令,例如 passwd。

我以前用過這個命令來顯示哪些帳戶被鎖定,即“LK”。

$ cat /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }'
root PS 2010-12-18 0 99999 7 -1 (Password set, SHA512 crypt.)
ftp LK 2010-11-11 0 99999 7 -1 (Alternate authentication scheme in use.)
nobody LK 2010-11-11 0 99999 7 -1 (Alternate authentication scheme in use.)
usbmuxd LK 2010-12-18 0 99999 7 -1 (Password locked.)
avahi-autoipd LK 2010-12-18 0 99999 7 -1 (Password locked.)
dbus LK 2010-12-18 0 99999 7 -1 (Password locked.)
ntop LK 2011-05-22 0 99999 7 -1 (Password locked.)
nginx LK 2011-08-19 0 99999 7 -1 (Password locked.)
postgres LK 2012-06-26 0 99999 7 -1 (Password locked.)
fsniper LK 2012-06-26 0 99999 7 -1 (Password locked.)
clamupdate LK 2012-08-31 0 99999 7 -1 (Password locked.)

替代方法

感謝評論中的@RahulPatil,這是一個更簡潔的方法:

$ awk -F: '{ system("passwd -S " $1) }' /etc/passwd
root PS 2007-06-20 0 99999 7 -1 (Password set, MD5 crypt.)
bin LK 2007-06-20 0 99999 7 -1 (Alternate authentication scheme in use.)
daemon LK 2007-06-20 0 99999 7 -1 (Alternate authentication scheme in use.)
adm LK 2007-06-20 0 99999 7 -1 (Alternate authentication scheme in use.)

引用自:https://unix.stackexchange.com/questions/74764