Команда who сообщает о том, какие пользователи в настоящий момент работают в системе. Указывается устройство подключения, время начала сеанса, имя компьютера (если это удаленное подключение), длительность простоя, а также принимаются ли сообщения утилит write и talk . Флаг i включает отображение времени простоя, при наличии флага w отображается статус интерактивных сообщений, а флаг Н задает отображение строки заголовка.
Образец отчета команды who -iwH who -iwH
USER MESG LINE LOGIN- -TIME IDLE FROM
тагу - ttyl Feb 18 08: : 42 old
тагу + ttypO Feb 18 08: : 43 old (: 0 . 0)
jane + ttypl Feb 20 15: : 33 00:02 (roadrunner)
joe - ttyp2 Feb 20 21: : 01 (roadrunner)
bill + ttyp3 Feb 20 18: : 54 (roadrunner)
В первой колонке отображается имя пользователя. Знак + во второй колонке означает, что сообщения утилит write/talk поддерживаются. В третьей колонке указано имя устройства подключения, далее — время начала сеанса, затем — длительность простоя в формате часыминуты (ключевое слово old означает простой более 24 часов, запись '.' — простой менее минуты). В последней колонке указывается X-терминал или имя компьютера пользователя (пустое поле в случае локальных пользователей).
С помощью команды who можно оперативно узнать, кто в настоящий момент работает в системе, и выявить подозрительные случаи подключения.
Команда lastlog
К рассматриваемой категории относится и команда lastlog. Она отображает содержимое файла /var/log/lastlog, где фиксируется время последней регистрации пользователя в системе (листинг 7.5). Это не очень полезная команда, но с ее помощью тоже можно кое-что заметить. Почему, например, пользователь bill входил в систему 26 февраля в 2:23 ночи? Возможно, стоит проверить, действительно ли это был Билл или кто-то взломал его учетную запись.