DataLife Engine / Кто, когда и откуда: Раскрываем все тайны входов в Linux с помощью last

Кто, когда и откуда: Раскрываем все тайны входов в Linux с помощью last

Иногда при администрировании сервера под управлением Linux нужно посмотреть историю входов в систему и выходов для пользователей. Это удобно делать с помощью команды last. Хотя она пригодится и в других ситуациях.

В данной статье мы подробно расскажем, как работает last в Linux, какой у нее синтаксис и доступные опции. А затем перейдем к конкретным примерам использования и рассмотрим несколько сценариев.


Содержание статьи

Синтаксис и опции last

Данная утилита по умолчанию берет данные из файла /var/log/wtmp и выводит полный список пользователей, вошедших в систему и вышедших. Рассмотрим ее синтаксис. В терминале нужно задать опции, имя одного или нескольких пользователей и tty:

$ last опции имя_пользователя название_tty

Вместо last можно использовать lastb. В таком случае по умолчанию будет использоваться файл /var/log/btmp, в котором сохранены все неудачные попытки входа. Теперь пройдемся по доступным опциям:

Детальную информацию о команде last, синтаксис и все опции можно получить в терминале:

man last

А теперь перейдем к примерам ее использования.

Примеры использования last

Сначала рассмотрим способ просмотра всей истории входов и выходов, объяснив детально каждое поле. Затем перейдем к изучению данных для конкретного пользователя. Это основные сценарии, которые могут пригодиться.

Еще мы разберем несколько полезных вариантов. Ориентируйтесь по оглавлению, чтобы перейти к нужному.

1. Просмотр всей истории

Главная задача – получить полную информацию для всех пользователей. Для этих целей команде last нужно передать опции -F, -w и -x:

last -F -w -x
Кто, когда и откуда: Раскрываем все тайны входов в Linux с помощью last

Остановимся на каждом столбце более подробно:

Обратите внимание, что в последней строке wtmp begins указано, с какого момента существует файл /var/log/btmp.

Кто, когда и откуда: Раскрываем все тайны входов в Linux с помощью last

Если вам нужно получить подробную информацию об удаленных подключениях, то к команде добавится опция -d:

last -d -F -w -x

В результате в отдельной графе будет записан IP-адрес подключения.

2. История определённого пользователя

Когда компьютером пользуется сразу же несколько пользователей, информацию можно получить только по одному из них. Для этого утилите last нужно указать его имя. Рассмотрим все на примере пользователя root-user:

last root-user
Кто, когда и откуда: Раскрываем все тайны входов в Linux с помощью last

3. Ограничение количества строк

Если команда last выводит слишком большое количество информации, неудобное для изучения, то можно сократить количество строк. За это отвечает опция -n. Вот как будет выглядеть команда с ограничением на 4 строки:

last -n 4
Кто, когда и откуда: Раскрываем все тайны входов в Linux с помощью last

Существует еще несколько вариантов ввода опции:

last -4 last --limit 4

3. История за определённый день

С помощью опции -p добиться желаемого результата не выйдет, ведь она отображает информацию о сессиях только в конкретное время. Поэтому мы будем использовать опции -s и -t. Они задают время начала и конца сбора информации. В качестве примера возьмем 17 февраля 2022 года. Эта дата задается для -s. А для -t указывается следующий день:

last -s 2022-02-17 -t 2022-02-18
Кто, когда и откуда: Раскрываем все тайны входов в Linux с помощью last

Обратите внимание на формат ввода даты. Если речь идет о вчерашнем дне, то вместо первого числа можно записать yesterday, а следующий день – today:

last -s yesterday -t today
Кто, когда и откуда: Раскрываем все тайны входов в Linux с помощью last

Для вывода информации за сегодняшний день для -s следует задать значение today, а -t просто не использовать:

last -s today
Кто, когда и откуда: Раскрываем все тайны входов в Linux с помощью last

Ну и еще вместо ввода даты можно указать -ndays, вместо n введя число, насколько дней назад откатиться. Вот как будет выглядеть команда для просмотра данных, сохраненных 6 дней назад:

last -s -6days -t -5days
Кто, когда и откуда: Раскрываем все тайны входов в Linux с помощью last

4. История за определённый период

Как и в предыдущем случае, будут использоваться опции -s и -t. Но на этот раз можно указать любой временной промежуток. Форматы ввода данных те же самые, что и до этого. В качестве примера возьмем время с 2022-02-18 по 2022-02-23:

last -s 2022-02-18 -t 2022-02-24
Кто, когда и откуда: Раскрываем все тайны входов в Linux с помощью last

Для -t мы указываем 24 число, потому что отчет данных берется с самого начала суток (00:00 на часах). Также вы можете указать точное время для начальной и конечной точки. В таком случае дату и время нужно вводить в несколько ином формате:

Вот пример команды в случае с временным промежутком от 17 февраля 04:57 до 19 февраля 08:15:

last -s '2022-02-17 04:57' -t '2022-02-19 08:15'
Кто, когда и откуда: Раскрываем все тайны входов в Linux с помощью last

5. Вывод хоста и имени пользователя (Заголовок 3) (-i/-R)

По умолчанию имя пользователя отображается в первом столбце, а имя хоста – в третьем.

Кто, когда и откуда: Раскрываем все тайны входов в Linux с помощью last

Но при этом они могут быть записаны не в полном виде. Чтобы это исправить, используется опция -w:

last -w
Кто, когда и откуда: Раскрываем все тайны входов в Linux с помощью last

Ввод опции -a перемещает имя хоста в самый конец:

last -a
Кто, когда и откуда: Раскрываем все тайны входов в Linux с помощью last

При просмотре списка сеансов удаленного доступа будет полезной опция -i. Она заменяет имя хоста на IP-адрес пользователя:

last -i

Ну и еще упомянем опцию -R. При ее вводе команда last не станет выводить столбец с именем хоста:

last -R
Кто, когда и откуда: Раскрываем все тайны входов в Linux с помощью last

6. Вывод полного времени

Изначально время начала и конца сеанса записывается в кратком формате. Получить подробную информацию можно через опцию -F:

last -F
Кто, когда и откуда: Раскрываем все тайны входов в Linux с помощью last

Еще хотелось бы упомянуть опцию --time-format. С ее помощью можно полностью отключить показ даты и времени, за исключением продолжительности самой сессии:

last --time-format notime
Кто, когда и откуда: Раскрываем все тайны входов в Linux с помощью last

А при просмотре сессий удаленного подключения полезным окажется следующий формат вывода:

last --time-format iso
Кто, когда и откуда: Раскрываем все тайны входов в Linux с помощью last

В нем время и дата записываются по стандарту ISO-8601. При этом отдельно выводится часовой пояс подключившегося пользователя.

8. История перезагрузок

Все перезагрузки в Linux отмечаются как действие пользователя reboot в команде last. А для получения подробных сведений обо всех завершениях сеансов подойдет опция -x:

last -x
Кто, когда и откуда: Раскрываем все тайны входов в Linux с помощью last

Мы уже описывали в начале статьи, за что отвечают пользователи shutdown и runlevel. Так что останавливаться на них не будем.

9. История неудачных входов

История неудачных входов хранится в файле /var/log/btmp. Для быстрого получения доступа к ней используется команда lastb. Но выполнять ее следует с правами супер-пользователя:

sudo lastb
Кто, когда и откуда: Раскрываем все тайны входов в Linux с помощью last

В остальном у нее такие же опции и синтаксис.

Выводы

В рамках данной статьи мы разобрались с особенностями и нюансами использования команды last Linux. С ее помощью получится посмотреть историю входов из системы и выходов для всех пользователей. В том числе и при удаленном подключении к ПК.

28-10-2025, 14:00
Вернуться назад