Как использовать последнюю команду в Linux

Фатмавати Ахмад Дзэнури / Shutterstock.com
Кто, когда и откуда? Хорошие практики безопасности говорят, что вы должны знать, кто имеет доступ к вашему компьютеру с Linux. Мы покажем вам, как это сделать.
Файл wtmp
Linux и другие Unix-подобные операционные системы такие как MacOS очень хороши в ведении журнала. Где-то в недрах системы есть журнал практически всего, о чем вы можете подумать. Интересующий нас файл журнала называется wtmp
. Буква w может означать, когда или кто - похоже, никто не согласен. Часть tmp, вероятно, означает временную, но она также может означать временную метку.
Что мы действительно знаем, так это то, что wtmp
это журнал, который фиксирует и записывает каждое событие входа и выхода. Просмотр данных в wtmp
log - это основной шаг на пути к обеспечению безопасности при выполнении ваших обязанностей системного администратора. Для типичного семейного компьютера это может быть не так критично с точки зрения безопасности, но интересно иметь возможность проверить ваше совместное использование компьютера.
В отличие от многих текстовых файлов журналов в Linux, wtmp
это двоичный файл. Чтобы получить доступ к данным в нем, нам нужно использовать инструмент, предназначенный для этой задачи.
Этот инструмент - last
команда.
Последняя команда
last
команда читает данные из wtmp
log и отображает его в окне терминала.
Если вы наберете last
и нажмите Enter, это будет отображать все записи из файла журнала.
wtmp
Каждая запись из :0
отображается в окне терминала.
Слева направо каждая строка содержит:
- В имя пользователя человека, вошедшего в систему.
- В Терминал они вошли в систему. Конечная запись
last
означает, что они вошли в систему на самом компьютере Linux. - В айпи адрес машины, в которую они вошли.
- В авторизоваться отметка времени и даты.
- В продолжительность сеанса.
Последняя строка сообщает нам дату и время самого раннего сеанса, записанного в журнале.
Запись для фиктивного пользователя «перезагрузка» вносится в журнал каждый раз при загрузке компьютера. Поле терминала заменяется версией ядра. Продолжительность сеанса входа в систему для этих записей представляет время безотказной работы компьютера.
Отображение определенного количества строк
Используя last
Сама по себе команда создает дамп всего журнала, большая часть которого проходит мимо окна терминала. Часть, которая остается видимой, - это самые ранние данные в журнале. Вероятно, это не то, что вы хотели видеть.
Вы можете сказать -5
чтобы дать вам определенное количество строк вывода. Для этого укажите желаемое количество строк в командной строке. Обратите внимание на дефис. Чтобы увидеть пять строк, нужно набрать 5
а не -d
:
last
Это дает первые пять строк из журнала, которые являются самыми последними данными.
Отображение сетевых имен для удаленных пользователей
last
Параметр (Система доменных имен) сообщает -R
чтобы попытаться разрешить IP-адреса удаленных пользователей в имени машины или сети.
last
Не всегда удается -s
чтобы преобразовать IP-адрес в сетевое имя, но команда сделает это, когда сможет.
Скрытие IP-адресов и сетевых имен
Если вас не интересует IP-адрес или имя сети, используйте -t
(без имени хоста) опция, чтобы подавить это поле.
Поскольку это дает более аккуратный вывод без уродливых оберток, этот параметр использовался во всех следующих примерах. Если вы использовали last
чтобы попытаться определить необычную или подозрительную активность, вы должны нет подавить это поле.
Выбор записей по дате
Вы можете использовать -s
(с) параметр, чтобы ограничить вывод, чтобы отображать только события входа в систему, которые произошли с определенной даты.
Если вы хотите увидеть только события входа в систему, которые произошли с 26 мая 2019 года, вы должны использовать следующую команду:
-t
В выходных данных отображаются записи с событиями входа в систему, которые произошли с 00:00 указанного дня, до самых новых записей в файле журнала.
Поиск до конечной даты
Вы можете использовать last
(до), чтобы указать дату окончания. Это позволяет вам выбрать набор записей входа в систему, которые имели место между двумя интересующими датами.
Эта команда запрашивает yesterday
для получения и отображения записей входа в систему с 00:00 (рассвет) 26-го числа до времени 00:00 (рассвета) 27-го числа. Это сужает список до сеансов входа в систему, которые имели место только 26-го числа.
Форматы времени и даты
Вы можете использовать время и дату с помощью tomorrow
и now
опции.
Различные форматы времени, которые можно использовать с -p
варианты, которые используют дату и время (предположительно):
- ГГГГММДДччммсс
- ГГГГ-ММ-ДД чч: мм: сс
- ГГГГ-ММ-ДД чч: мм - секунды установлены на 00
- ГГГГ-ММ-ДД - время установлено на 00:00:00
- чч: мм: сс - дата установлена сегодня
- чч: мм - дата будет установлена на сегодняшний день, секунды на 00
- в настоящее время
- вчера - время установлено на 00:00:00
- сегодня - время установлено на 00:00:00
- завтра - время установлено на 00:00:00
- + 5мин
- -5 дней
Почему «якобы»?
РекламаВторой и третий форматы в списке не работали во время исследования для этой статьи. Эти команды были протестированы в дистрибутивах Ubuntu, Fedora и Manjaro. Это производные от дистрибутивов Debian, RedHat и Arch соответственно. Это охватывает все основные семейства дистрибутивов Linux.
last
Как видите, команда вообще не вернула записей.
Использование первого формата даты и времени из списка с той же датой и временем, что и предыдущая команда, возвращает записи:
still logged in
Поиск по относительным единицам
Вы также указываете периоды времени, которые измеряются в минутах или днях относительно текущей даты и времени. Здесь мы просим записи с двух дней до одного дня назад.
still running
Вчера, сегодня и сейчас
Вы можете использовать now
и -p
как сокращение для вчерашней и сегодняшней даты.
who
Не то чтобы здесь не было записей на сегодня. Это ожидаемое поведение. Команда запрашивает записи с даты начала до того как дата окончания. Это не включают записи в пределах конечной даты.
lastb
вариант - это сокращение на сегодня в текущее время. Чтобы увидеть события входа в систему, которые произошли с 00:00 (рассвет) до момента, когда вы введете команду, используйте эту команду:
btmp
Это покажет все события входа в систему вплоть до настоящего времени, включая те, которые все еще вошли в систему.
Настоящий вариант
lastb
Опция (присутствует) позволяет узнать, кто был авторизован в определенный момент времени.
Не имеет значения, когда они вошли в систему или вышли, но если они вошли в систему в указанное вами время, они будут включены в список.
Если указать время без даты last
предполагает, что вы имеете в виду сегодня.
sudo
У людей, которые все еще находятся в системе (очевидно), нет времени на выход; они описаны как lastb
. Если компьютер не перезагружался с указанного времени, он будет указан как
last.
Если вы используете
last -5сокращение с
last -d(присутствует), вы можете узнать, кто вошел в систему в момент, когда вы вводите команду.
last -R -s 2019-05-26
Это несколько утомительный способ добиться того, чего можно достичь. используя last -R -s 2019-05-26 11:00 -t 2019-05-27 13:00
команда .
СВЯЗАННЫЙ: Как определить текущую учетную запись пользователя в Linux
Команда lastb
last -R -s 20190526110000 -t 20190527130000команда заслуживает упоминания. Он считывает данные из журнала с именем
last -R -s -2days -t -1days. По этому названию журнала есть немного больше консенсуса. Буква «b» означает «плохо», но часть «tmp» все еще вызывает споры.
last -R -s yesterday -t todayперечисляет плохие ( не удалось ) попытки входа в систему. Он принимает те же параметры, что и
last -R -s today -t now. Поскольку это были неудачные попытки входа в систему, все записи будут иметь продолжительность 00:00.
Вы должны использовать
last -R -p 09:30с
last -R -p now.
sudo lastb -R
Последнее слово по делу
Зная, кто вошел в ваш компьютер с Linux, когда и откуда можно получить полезную информацию. Сочетание этого с подробностями неудачных попыток входа в систему дает вам первые шаги в расследовании подозрительного поведения.
ПРОЧИТАЙТЕ СЛЕДУЮЩИЙ- & rsaquo; Функции и формулы в Microsoft Excel: в чем разница?
- & rsaquo; 5 сайтов, которые должен добавить в закладки каждый пользователь Linux
- & rsaquo; Папке на компьютере 40 лет: как звезда Xerox создала рабочий стол
- & rsaquo; Что такое защита от падений MIL-SPEC?
- & rsaquo; Киберпонедельник 2021: лучшие технические предложения
- & rsaquo; Как найти упакованный Spotify 2021

Дэйв Маккей впервые использовал компьютеры, когда в моде была перфолента, и с тех пор он занимается программированием. Проработав более 30 лет в ИТ-индустрии, он теперь работает журналистом в области информационных технологий. За свою карьеру он работал программистом-фрилансером, менеджером международной группы разработчиков программного обеспечения, менеджером проекта ИТ-услуг, а в последнее время - специалистом по защите данных. Его статьи были опубликованы на сайтах howtogeek.com, cloudsavvyit.com, itenterpriser.com и opensource.com. Дэйв - евангелист Linux и сторонник открытого исходного кода.
Прочитать полную биографию