Если вы управляете многопользовательской системой, вам часто нужно знать, кто, когда и откуда вошел в систему.
last
— это утилита командной строки, которая отображает информацию о последних сеансах входа в систему пользователей системы. Это очень полезно, когда вам нужно отслеживать активность пользователей или расследовать возможное нарушение безопасности.
В этой статье объясняется, как проверить, кто вошел в систему с помощью last
команды.
Содержание
Как использовать last
команду
Синтаксис last
команды следующий:
last [OPTIONS] [USER] [<TTY>...]
Каждый раз, когда пользователь входит в систему, запись для этого сеанса записывается в файл /var/log/wtmp
. last
читает файл wtmp
и печатает информацию о логинах и выходах пользователей. Записи печатаются в обратном временном порядке, начиная с самых последних.
Когда last
вызывается без какой-либо опции или аргумента, вывод выглядит примерно так:
mark pts/0 10.10.0.7 Fri Feb 21 21:23 still logged in
mark pts/0 10.10.0.7 Tue Feb 18 22:34 - 00:05 (01:31)
lisa :0 :0 Thu Feb 13 09:19 gone - no logout
reboot system boot 4.15.0-74-g Fri Jan 24 08:03 - 08:03 (00:00)
...
Каждая строка вывода содержит следующие столбцы слева направо:
- Имя пользователя. Когда система перезагружается или выключается,
last
показываетreboot
иshutdown
специальных пользователей. - Терминал, на котором состоялся сеанс.
:0
обычно означает, что пользователь входил в среду рабочего стола. - IP-адрес или имя хоста, с которого пользователь вошел в систему.
- Время начала и окончания сеанса.
- Продолжительность сеанса. Если сеанс все еще активен или пользователь не вышел из системы, последний будет отображать информацию об этом вместо продолжительности.
Чтобы ограничить вывод определенным пользователем или tty, передайте имя пользователя или tty в качестве аргумента last
команды:
last mark
last pts/0
Вы также можете указать несколько имен пользователей и ttys в качестве аргументов:
last mark root pts/0
last
параметры команды
last
принимает несколько параметров, которые позволяют ограничивать, форматировать и фильтровать вывод. В этом разделе мы рассмотрим наиболее распространенные.
Чтобы указать количество строк, которые вы хотите напечатать в командной строке, передайте число, которому предшествует один дефис, в last
. Например, чтобы распечатать только последние десять сеансов входа в систему, введите:
last -10
С помощью опции -p
( --present
) вы можете узнать, кто вошел в систему в определенный день.
last -p 2020-01-15
Используйте --since
-s
( --since
) и -t
( --until
), чтобы указать last
отображать строки с или до указанного времени. Эти две опции часто используются вместе для определения временного интервала, в течение которого вы хотите получить информацию. Например, чтобы отобразить записи входа с 13 по 18 февраля, вы должны запустить:
last -s 2020-02-13 -u 2020-02-18
Время, передаваемое параметрам -p
, -s
и -t
, можно указать в следующих форматах:
YYYYMMDDhhmmss
YYYY-MM-DD hh:mm:ss
YYYY-MM-DD hh:mm (seconds will be set to 00)
YYYY-MM-DD (time will be set to 00:00:00)
hh:mm:ss (date will be set to today)
hh:mm (date will be set to today, seconds to 00)
now
yesterday (time is set to 00:00:00)
today (time is set to 00:00:00)
tomorrow (time is set to 00:00:00)
+5min
-5days
По умолчанию в last
не отображаются секунды и год. Используйте параметр -F
, --fulltimes
чтобы просмотреть полное время и даты входа и выхода:
last -F
Опция -i
( --ip
) заставляет last
всегда показывать IP-адрес, а --dns
-d
( --dns
) показывает --dns
хостов:
last -i
Выводы
last
команда выводит информацию о времени входа и выхода пользователей. Для получения дополнительной информации о команде введите в терминале man last
.
Если у вас есть вопросы, оставьте комментарий ниже.