Если вы управляете многопользовательской системой, вам часто нужно знать, кто, когда и откуда вошел в систему.
last, это утилита командной строки, которая отображает информацию о последних сеансах входа пользователей системы. Это очень полезно, когда вам нужно отслеживать активность пользователя или расследовать возможное нарушение безопасности.
В этой статье объясняется, как проверять, кто вошел в систему с помощью команды last.
Как использовать команду last
Синтаксис команды last следующий:
last [OPTIONS] [USER] [<TTY>...]
Каждый раз, когда пользователь входит в систему, запись для этого сеанса записывается в файл /var/log/wtmp. Команда last читает файл wtmp и печатает информацию о входах и выходах пользователей. Записи печатаются в обратном порядке времени, начиная с самых последних.
Когда вызывается last без какой-либо опции или аргумента, вывод выглядит примерно так:
andreyex pts/0 123.123.0.2 Fri Feb 29 34:22 still logged in andreyex pts/0 123.123.0.2 Tue Feb 28 13:42 - 00:05 (01:31) lisa :0 :0 Thu Feb 25 11:19 gone - no logout reboot system boot 4.15.0-74-g Fri Jan 29 21:03 - 08:03 (00:00) ...
Каждая строка вывода содержит следующие столбцы слева направо:
- Имя пользователя. Когда система перезагружается или выключается, last отображает специальных пользователей reboot и shutdown.
- Tty, на котором состоялась сессия. :0 обычно означает, что пользователь входил в среду рабочего стола.
- IP-адрес или имя хоста, с которого вошел пользователь.
- Время начала и окончания сеанса.
- Продолжительность сеанса. Если сеанс все еще активен или пользователь не вышел из системы, последний покажет информацию об этом вместо продолжительности.
Чтобы ограничить вывод определенным пользователем или tty, передайте имя пользователя или tty в качестве аргумента команды last:
last andreyex last pts/0
Вы также можете указать несколько имен пользователей и ttys в качестве аргументов:
last andreyex root pts/0
Параметры команды last
last принимает несколько параметров, которые позволяют ограничивать, форматировать и фильтровать вывод. В этом разделе мы рассмотрим наиболее распространенные из них.
Чтобы указать количество строк, которые вы хотите напечатать в командной строке, передайте число, которому предшествует один дефис last. Например, чтобы распечатать только последние десять сеансов входа в систему, введите:
last -10
С помощью опции -p( –present) вы можете узнать, кто вошел в систему в определенный день.
last -p 2020-03-10
Используйте опции -s( –since) и -t( –until), чтобы указать last отображение строк с или до указанного времени. Эти две опции часто используются вместе, чтобы определить интервал времени, для которого вы хотите получить информацию. Например, для отображения записей входа в систему с 13 по 18 февраля вы должны выполнить:
last -s 2020-03-01 -u 2020-03-01
Время, передаваемое параметрам -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 в свой терминал.
Если у вас есть какие-либо вопросы, пожалуйста, оставьте комментарий ниже.