
Можно ли получить информацию о заблокированных аккаунтах 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.)