Введение
Если вы запускаете многопользовательскую систему, вам часто нужно знать, кто, когда и откуда осуществлял доступ к машине.
last
— это утилита командной строки, которая отображает информацию о последних сеансах входа пользователей в систему. Это очень полезно, когда вам нужно отслеживать активность пользователя или расследовать возможное нарушение безопасности.
В этой статье объясняется, как проверить, кто вошел в систему, с помощью last
команды.
Как использовать последнюю команду
Синтаксис last
команды следующий:
last [OPTIONS] [USER] [<TTY>...]
Каждый раз, когда пользователь входит в систему, запись для этого сеанса записывается в файл /var/log/wtmp
. last
читает файл wtmp
и выводит информацию о входах и выходах пользователей. Записи печатаются в обратном порядке, начиная с самой последней.
Когда last
вызывается без каких-либо параметров или аргументов, вывод выглядит следующим образом:
root pts/0 2.226.134.97 Tue Feb 25 20:12 still logged in
alice pts/0 2.226.134.97 Sat Feb 22 19:33 - 19:39 (00:06)
reboot system boot 4.19.0-6-amd64 Sat Feb 22 18:56 still running
wtmp begins Sun Jan 12 05:11:32 2020
Каждая строка вывода содержит следующие столбцы слева направо:
- Имя пользователя. Когда система перезагружается или выключается,
last
показываетreboot
иshutdown
специальных пользователей. - Номер, на котором проходила сессия.
:0
обычно означает, что пользователь входил в среду рабочего стола. - IP-адрес или имя хоста, с которого вошел пользователь.
- Время начала и окончания сеанса.
- Продолжительность сеанса Если сеанс все еще активен или пользователь не вышел из системы, последний сеанс покажет информацию о нем вместо продолжительности.
Чтобы ограничить вывод для определенного пользователя или tty, передайте имя пользователя или tty в качестве аргумента last
команде:
last alice
Вы также можете указать несколько имен пользователей и tty в качестве аргументов:
last alice root pts/0
Параметры последней команды
last
принимает несколько параметров, позволяющих ограничивать, форматировать и фильтровать вывод. В этом разделе мы рассмотрим наиболее распространенные из них.
Чтобы указать количество строк, которые вы хотите напечатать в командной строке, передайте число с одним тире перед last
командой. Например, чтобы распечатать только последние десять сеансов входа, введите:
last -10
С опцией -p
( --present
) вы можете узнать, кто заходил в систему в конкретную дату.
last -p 2020-02-20
Используйте параметры -s
( --since
) и -t
( --until
), чтобы указать last
отображать строки с или до указанного времени. Эти два параметра часто используются вместе для определения временного интервала, за который вы хотите получить информацию. Например, чтобы просмотреть записи доступа с 15 по 22 февраля, выполните:
last -s 2020-02-15 -u 2020-02-22
Время задается параметрами -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-адрес, а -d
( --dns
) — отображать имена хостов:
last -i
Вывод
last
команда выводит информацию о времени входа и выхода пользователя. Для получения дополнительной информации о команде введите man last
:
man last