Команда last позволяет задействовать одноименную утилиту, предназначенную для получения информации о пользовательских сессиях. Утилита читает файл журнала /var/log/wtmp и выводит информацию об инициировавших создание сессий пользователях, продолжительности этих сессий, используемых для работы терминалах, а также некоторые другие менее важные подробности. Она может оказаться крайне полезной в случаях несанкционированного доступа к вашей системе.
Базовый синтаксис команды выглядит следующим образом:
$ last [параметры] [имя-пользователя] [имя-терминала]
Утилита поддерживает ряд параметров, причем многие из этих параметров предназначены для форматирования вывода. Наиболее важными параметрами являются произвольный числовой параметр, устанавливающий количество строк для вывода, параметры -s и -t, позволяющие выводить информацию о пользовательских сессиях за заданный интервал времени, параметр -d для вывода адресов систем, с которых были инициированы уделенные сессии, а также параметр -p, позволяющий вывести информацию о пользователях, работавших с системой в заданное время сегодня.
Утилита использует имя псевдопользователя reboot для вывода информации о работе системы без вошедших в систему пользователей. Что касается времени, то утилита поддерживает специальные идентификаторы now для указания на текущее время, today и yesterday для указания на сегодняшний и предыдущий дни, а также следующие форматы меток времени:
Для вывода информации о последних пользовательских сессиях достаточно использовать утилиту без каких-либо дополнительных параметров за исключением параметра для ограничения количества выводимых строк:
$ last -10
alex tty2 tty2 Mon Mar 23 12:11 still logged in
reboot system boot 5.3.0-42-generic Mon Mar 23 12:08 still running
alex tty2 tty2 Sun Mar 22 20:31 - down (07:32)
reboot system boot 5.3.0-42-generic Sun Mar 22 20:22 - 04:04 (07:41)
reboot system boot 5.3.0-42-generic Sat Mar 21 23:20 - 23:24 (00:04)
alex tty2 tty2 Sat Mar 21 15:12 - down (08:06)
reboot system boot 5.3.0-42-generic Sat Mar 21 15:10 - 23:19 (08:09)
alex tty2 tty2 Fri Mar 20 16:40 - down (14:14)
reboot system boot 5.3.0-42-generic Fri Mar 20 16:37 - 06:54 (14:16)
alex tty2 tty2 Thu Mar 19 22:57 - down (01:09)
В результате будет выведена информация о последних пользовательских сессиях.
Для указания интервала времени, пользовательские сессии из которого вас интересуют, следует использовать параметры -s и -t. Например, посмотрим информацию о пользовательских сессиях за неделю (от 7 дней назад до текущего момента):
$ last -s-7days -tnow
alex tty2 tty2 Mon Mar 23 12:11 still logged in
reboot system boot 5.3.0-42-generic Mon Mar 23 12:08 still running
alex tty2 tty2 Sun Mar 22 20:31 - down (07:32)
reboot system boot 5.3.0-42-generic Sun Mar 22 20:22 - 04:04 (07:41)
reboot system boot 5.3.0-42-generic Sat Mar 21 23:20 - 23:24 (00:04)
alex tty2 tty2 Sat Mar 21 15:12 - down (08:06)
reboot system boot 5.3.0-42-generic Sat Mar 21 15:10 - 23:19 (08:09)
alex tty2 tty2 Fri Mar 20 16:40 - down (14:14)
reboot system boot 5.3.0-42-generic Fri Mar 20 16:37 - 06:54 (14:16)
alex tty2 tty2 Thu Mar 19 22:57 - down (01:09)
reboot system boot 5.3.0-42-generic Thu Mar 19 22:55 - 00:07 (01:12)
alex tty2 tty2 Thu Mar 19 17:00 - down (04:26)
reboot system boot 5.3.0-42-generic Thu Mar 19 16:57 - 21:27 (04:30)
alex tty2 tty2 Wed Mar 18 16:57 - down (06:58)
reboot system boot 5.3.0-42-generic Wed Mar 18 16:50 - 23:56 (07:05)
alex tty2 tty2 Tue Mar 17 23:34 - down (00:04)
reboot system boot 5.3.0-42-generic Tue Mar 17 23:32 - 23:39 (00:06)
alex tty2 tty2 Tue Mar 17 17:56 - down (05:34)
reboot system boot 5.3.0-40-generic Tue Mar 17 17:53 - 23:30 (05:37)
В результате будет выведена информация за неделю.
В случае необходимости указания точных дат и времени тоже сложно ошибиться:
$ last -s 2020-03-21 -t 2020-03-23
alex tty2 tty2 Sun Mar 22 20:31 gone - no logout
reboot system boot 5.3.0-42-generic Sun Mar 22 20:22 still running
reboot system boot 5.3.0-42-generic Sat Mar 21 23:20 - 23:24 (00:04)
alex tty2 tty2 Sat Mar 21 15:12 - down (08:06)
reboot system boot 5.3.0-42-generic Sat Mar 21 15:10 - 23:19 (08:09)
wtmp begins Tue Jan 28 01:20:24 2020
Здесь стоит помнить о том, что утилита не всегда корректно обрабатывает время, поэтому стоит ограничиваться датами. Также утилита выводит информацию о первой записи в файле журнала.