![如何檢索有關鎖定帳戶的信息](https://rvso.com/image/31661/%E5%A6%82%E4%BD%95%E6%AA%A2%E7%B4%A2%E6%9C%89%E9%97%9C%E9%8E%96%E5%AE%9A%E5%B8%B3%E6%88%B6%E7%9A%84%E4%BF%A1%E6%81%AF.png)
是否可以檢索有關鎖定的 UNIX 帳戶的資訊?我有興趣查看有關鎖定發生的日期和時間以及主機名稱(電腦名稱)的資訊。我希望看到類似於該who
命令的內容。
答案1
我不相信這些資訊會保存在任何地方。它們只允許您從命令日誌中獲取此類信息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.)