Все популярные дистрибутивы Linux, такие как Ubuntu, Debian, Linux Mint, Fedora и Red Hat, отслеживают вход пользователей в систему, выключение и перезагрузку компьютера, а также время работы системы.
Эта информация может быть очень полезна системным администраторам при расследовании инцидентов, устранении неполадок или составлении отчета об активности пользователей.
В Linux системные журналы и журналы приложений обычно хранятся в каталоге «/var/log/«, доступ к которому можно получить с помощью команды cat или journalctl . Однако существуют и другие команды, которые используют специальные файлы, управляемые ядром, для отслеживания активности пользователей.
В этой статье вы узнаете о различных командах, которые помогут вам проверить журналы входа пользователей, завершения работы, перезагрузки, а также время работы системы.
Использование команды Who
Команда who в Linux может отображать информацию о входе пользователя в систему, такую как имя учетной записи, терминал пользователя, время входа, имя хоста или IP-адрес, с которого пользователь вошел в систему.
$ who
С помощью флага -b можно проверить дату и время последнего входа пользователя в систему (или последней перезагрузки).
$ who -b
Использование последней команды
Команда last в Linux может отображать список последних входов пользователей в систему, их продолжительность и другую информацию, считанную из файла «/var/log/wtmp«.
$ last <username>
Вместо указания имени пользователя можно подставить параметр reboot, чтобы узнать время и дату последней перезагрузки Linux.
$ last reboot
Использование команды uptime
Команда uptime в Linux показывает, как долго работает система, отображая текущее время, время работы, количество пользователей, вошедших в систему, и среднюю загрузку процессора за последние 1, 5 и 15 минут.
$ uptime
Кроме того, с помощью флага -p можно отобразить только время загрузки системы, а с помощью флага -s — дату и время загрузки системы:
$ uptime -p $ uptime -s
Использование команды Journalctl
Команда journalctl в Linux используется для запроса системного журнала. С ее помощью можно просмотреть системные журналы, чтобы получить дополнительную информацию, например о том, сколько раз система загружалась.
$ journalctl --list-boot
Чтобы получить более подробную информацию из приведенного выше списка BOOT IDs, вы можете указать их с помощью флага -b.
$ journalctl -b <boot_id>
Узнайте, кто или что стало причиной выключения/перезагрузки
На сервере может произойти неожиданное выключение или перезагрузка нужного экземпляра. В таких случаях необходимо выяснить причину и установить виновных. Это можно сделать с помощью следующей команды:
$ sudo journalctl | grep shutdown
Первая запись в приведенном выше выводе указывает на то, что кто-то инициировал завершение работы. Теперь вы можете воспользоваться другим способом, описанным в этой статье, чтобы найти виновника.
Подводим итоги
Из этой статьи вы узнали, как проверить, кто вошел в систему после ее выключения и перезагрузки, а также кто или что за этим стоит.
Если у вас есть вопросы по этой теме, задавайте их в комментариях.