Как составить список пользователей в Linux

Linux представлен

Важно знать, кто имеет доступ к вашему ПК с Linux (и контроль над вашими файлами), но вы можете легко получить список пользователей в Linux, чтобы выяснить это. Вот как.

Операционная система Linux предлагает команды для создания и удаления пользователей и проверки того, кто из них вошел в систему. Однако в системе нет команды для вывода списка пользователей, вошедших в систему или нет.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Тем не менее, есть несколько способов справиться с этим. Если вы хотите узнать, как составить список пользователей в Linux, выполните следующие действия.

Почему вы должны проверить свой список пользователей Linux

Есть ряд причин, по которым вы можете захотеть составить список пользователей в Linux. Например, это хорошая практика с точки зрения поиска и удаления неиспользуемых учетных записей. С точки зрения безопасности это также хороший способ убедиться, что у вас нет злоумышленников, создающих учетные записи пользователей.

Это административная задача, которую вам, вероятно, следует выполнять не реже одного раза в месяц. Если вы используете корпоративный сервер Linux, возможно, вы захотите делать это чаще.

Пользователи, перечисленные в /etc/passwd

Все учетные записи пользователей вашего сервера Linux имеют записи в файле /etc/passwd. Каждая строка представляет пользователя и состоит из семи полей, разделенных двоеточиями. Поля предоставляют информацию о пользователе.

  • Имя пользователя.
  • Зашифрованный пароль (x указывает, что пароль на самом деле находится в /etc/shadow)
  • Идентификационный номер пользователя (UID).
  • Идентификационный номер группы пользователя (GID).
  • Полное имя пользователя, если оно указано.
  • Домашний каталог пользователя.
  • Оболочка входа

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

меньше /etc/passwd

как перечислить пользователей в Linux, используя меньше

Если вы хотите проверить, существует ли конкретный пользователь в системе Linux, хорошо использовать команду grep:

меньше пароля | грэп джефф

найти, существует ли пользователь в Linux

Если вы не получите никакого вывода, этот пользователь не существует на сервере Linux.

Тем не менее, это много информации. Вы можете сократить его до имени пользователя, например, с помощью команд awk или cut:

awk -F: ‘{print $1}’ /etc/passwd cut -d: -f1 /etc/passwd

перечисление пользователей только с именами пользователей

Это, как правило, намного проще понять, но при этом вы все равно видите все системные учетные записи пользователей, смешанные с вашими пользователями-людьми.

Как использовать getent для списка пользователей

Другая команда, getent, гораздо полезнее. Он отображает записи из любая настроенная база данных в файле /etc/nsswitch.conf вашего сервера. Одним из них является база данных passwd. Чтобы использовать getent для отображения списка всех пользователей Linux, это работает следующим образом:

получить пароль

Вывод выглядит точно так же, как при использовании меньше команда, но перечисляет всех пользователей LDAP в системе Linux. Еще раз, наши команды awk и cut могут помочь увидеть только первое поле, имена пользователей.

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

Джефф

Опять же, никакой вывод этой команды не говорит вам, что пользователь не существует.

Еще одно потрясающее применение getent — узнать, сколько учетных записей пользователей существует на сервере. Это делается путем передачи вывода getent через команду wc, например:

получить пароль | туалет -л

получение количества учетных записей пользователей

Как видите, в моей системе Linux всего 48 учетных записей. Довольно интересно, так как я единственный, кто его использует, но это просто показывает, сколько системных учетных записей создается в Linux.

Отсеивание системных пользователей от обычных пользователей

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

Итак, как вы можете перечислить только обычных пользователей системы Linux? Ключевым моментом здесь является понимание того, что при создании обычного пользователя его UID назначается в пределах определенного диапазона чисел. Проверив файл /etc/login.defs, мы можем определить диапазон значений UID, доступных для учетных записей обычных пользователей.

grep -E ‘^UID_MIN|^UID_MAX’ /etc/login.defs

Минимальное и максимальное значения UID

Основываясь на выводе, я знаю, что обычные пользователи должны иметь UID от 1000 до 60000. Исходя из этого, я могу создать запрос getent, который будет отображать только обычных пользователей.

получить пароль {1000..60000}

getent вывод обычных пользователей

Имейте в виду, что getent будет зависать даже после того, как отобразит свой вывод. Вы можете нажать Ctrl-C, чтобы завершить процесс, или дождаться его завершения. Обычно поиск в базе данных passwd занимает менее 15 секунд.

Более общая версия этой команды учитывает разные значения UID_MIN и UID_MAX, которые могут использовать разные серверы.

eval getent passwd {$(awk ‘/^UID_MIN/ {print $2}’ /etc/login.defs)..$(awk ‘/^UID_MAX/ {print $2}’ /etc/login.defs)}

В этой команде мы используем возможности Linux делать несколько вещей одновременно. Команды awk получают значения UID_MIN и UID_MAX, а затем используют их в команде getent.

Теперь предположим, что все, что нам нужно, это имена пользователей. Мы снова передаем наш вывод через команду cut, например:

eval getent passwd {$(awk ‘/^UID_MIN/ {print $2}’ /etc/login.defs)..$(awk ‘/^UID_MAX/ {print $2}’ /etc/login.defs)} | вырезать -d: -f1

eval getent вывод пользователей

Выполнение этой команды может занять от 10 до 15 секунд, так что наберитесь терпения.

Эффективное управление пользователями Linux

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

В то же время обязательно следите за политиками безопасности паролей и поощряйте своих пользователей регулярно менять свои пароли.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

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

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