ロックされた UNIX アカウントに関する情報を取得することは可能ですか? ロックアウトが発生した日時とホスト名 (PC 名) に関する情報を確認したいと考えています。 コマンドに似たものを確認したいと思います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.)