Изучение логинов пользователей Linux с помощью lslogins

Изучение учетных записей пользователей Linux с помощью lslogins

Команда lslogins может помочь вам разобраться в деталях учетных записей пользователей и активности входа в систему.

Один из удобных способов просмотреть сведения о логинах пользователей в системе Linux-это использовать команду lslogins. Вы получите очень удобный и красиво отформатированный вывод, который включает в себя довольно много важных деталей.

В моей системе и, вероятно, в большинстве других, учетные записи пользователей будут начинаться с UID 1000. Чтобы перечислить только эти учетные записи, а не включать все учетные записи служб, такие как daemon, mail и syslog, добавьте опцию -u, как показано в приведенном ниже примере.

Что делает команда lslogins, так это выбирает соответствующую информацию из системных файлов, таких как /etc/passwd, /etc/shadow и /var/log/wtmp, и размещает ее в формате, подобном показанному ниже. Если вы запустите эту команду без использования sudo, вы не сможете получить всю показанную информацию. У непривилегированных учетных записей не будет доступа ко всем необходимым файлам.

На экране отображаются числовые идентификаторы UID, имена пользователей и количество запущенных процессов. Эти выходные данные предполагают, что первый указанный пользователь, скорее всего, вошел в систему на системной консоли, поскольку у него 68 запущенных процессов. Мы не видим того, что она также вошла в систему на псевдотерминале; мы бы увидели две записи для этого пользователя, если бы использовали команду who.

Следующие два столбца (PWD-LOCK и PWD-DENY) показывают, что четыре учетных записи заблокированы. У каждого из них есть поле хэша пароля в файле /etc /shadow, которое начинается с символа «!». Кроме того, мы видим только пять «недавних» входов в систему. (Я заключил «недавний» в кавычки, потому что 20 марта 2020 года мне не кажется таким уж недавним.) Это говорит не только о том, что этому пользователю, вероятно, больше не нужна ее учетная запись, но и о том, что система в целом не так уж и сильно используется, потому что файл /var /log/wtmp перезагружалась в марте 2020 года или ранее. Поскольку две из этих дат LAST-LOGIN показывают только время, а не даты, мы знаем, что они обе показывают сегодняшние входы.

Отобразить  детали только для одного пользователя

Если вы хотите отображать сведения только об одном конкретном пользователе, вы можете добавить имя пользователя к команде в качестве аргумента. Вы увидите совершенно другой формат отображения и некоторые дополнительные сведения:

Поиск неудачных попыток входа

Чтобы обнаружить неудачные попытки входа в систему, используйте параметр -f (сделав параметры -uf), как показано в этом примере:

Если вам нужен список имен пользователей с неудачным входом в систему, вы можете сделать это:

Посмотреть, когда пароли менялись в последний раз или когда истечет срок действия

Используйте параметр -a для отображения сведений об изменении и истечении срока действия пароля.

Использование: как разделитель полей

Используйте параметр -c, чтобы разделить информацию о lslogins двоеточием. Это может быть полезно, если вы собираетесь обрабатывать эту информацию дальше.

Список учетных записей, в которых запущено более 10 процессов

Чтобы получить быстрый список того, сколько пользователей запускает 10 или более процессов, вы можете использовать команду awk, показанную ниже, для проверки третьего поля в выводе lslogins. К счастью для меня, строка «PROC» также буквенно-цифровая больше, чем «10», поэтому мне не нужно прилагать дополнительных усилий для сохранения обычных заголовков столбцов.

Заключение

Команда lslogins предоставляет довольно много полезных опций для просмотра учетных записей пользователей, но требует использования sudo или входа в систему как root, чтобы увидеть все детали. Просмотрите страницу руководства, чтобы узнать больше об этой команде.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *