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

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

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

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

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

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

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

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

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

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

less /etc/passwd

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

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

less passwd | grep jeff

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

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

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

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

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

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

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

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

getent passwd

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

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

getent passwd jeff

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

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

getent passwd | wc -l

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

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

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

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

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

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

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

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

getent passwd {1000..60000}

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

Имейте в виду, что 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)} | cut -d: -f1

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

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

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

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

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

Tags: #HOW-TO

Leave a Comment

6 простых и быстрых решений для исправления ошибки PS4 CE-32895-7

6 простых и быстрых решений для исправления ошибки PS4 CE-32895-7

Получение ошибки CE-32895-7 при попытке войти в систему или подключиться к PS4, затем следуйте приведенным решениям и легко устраните ошибку PS4 CE-32895-7.

7 быстрых исправлений ошибки ReCaptcha для владельца сайта: неверный тип ключа

7 быстрых исправлений ошибки ReCaptcha для владельца сайта: неверный тип ключа

Увидев Google ReCaptcha «Ошибка для владельца сайта: неверный тип ключа», попробуйте исправить, например, перейти на ключ ReCaptcha V2, обновить браузер и т. д.

Распространенные проблемы Pixel 6 и Pixel 6 Pro и способы их решения

Распространенные проблемы Pixel 6 и Pixel 6 Pro и способы их решения

Мы составили список наиболее распространенных проблем с Pixel 6 и Pixel 6 Pro, а также некоторые применимые решения. Узнайте больше здесь и дайте нам свои 2 цента.

Как решить проблему «Sims 4 Сим не спит»? [ПРОВЕРЕННЫЕ СПОСОБЫ]

Как решить проблему «Sims 4 Сим не спит»? [ПРОВЕРЕННЫЕ СПОСОБЫ]

Обеспокоены уровнем энергии симов, поскольку симы не остаются в постели и не засыпают? Прочитайте о решениях проблемы Sims 4: сим не спит.

Двухэтапная аутентификация Google не работает? Проверьте эти решения

Двухэтапная аутентификация Google не работает? Проверьте эти решения

Если двухэтапная проверка Google не работает, проверьте свой номер, попробуйте другой метод, и обязательно проверьте наличие подсказок Google.

Полное руководство по запуску Scandisk в Windows 10 и 8

Полное руководство по запуску Scandisk в Windows 10 и 8

Узнайте, как запустить ScanDisk в системе Windows 10 и 8. Прочтите полное руководство и следуйте шагам, приведенным один за другим, чтобы сделать ваш жесткий диск безошибочным.

Исправить Dungeon Siege 2 без указателя мыши [ПРОВЕРЕННЫЕ СПОСОБЫ]

Исправить Dungeon Siege 2 без указателя мыши [ПРОВЕРЕННЫЕ СПОСОБЫ]

При работе с Dungeon Siege 2 нет проблем с указателем мыши, затем попробуйте изменить разрешение, обновить драйверы, изменить параметры запуска и другие…

Windows OEM и Windows Retail: различия, которые нужно знать

Windows OEM и Windows Retail: различия, которые нужно знать

Пытаясь купить лицензионный ключ Windows, узнайте разницу между Windows OEM и Windows Retail и выберите лучший ключ продукта для своего ПК.

Ваш компьютер или сеть могут отправлять автоматические запросы [ИСПРАВЛЕНО]

Ваш компьютер или сеть могут отправлять автоматические запросы [ИСПРАВЛЕНО]

Узнайте, как устранить ошибку "Ваш компьютер может отправлять автоматические запросы" и безопасно продолжить работу с Google. Инструкции по исправлению.

8 простых способов исправить ошибку «У вас есть эта игра или приложение?» Ошибка 0x803f8001?

8 простых способов исправить ошибку «У вас есть эта игра или приложение?» Ошибка 0x803f8001?

Чтобы исправить ошибку «У вас есть эта игра или приложение?» код ошибки 0x803f8001 на Xbox, выполните несколько простых действий, чтобы устранить проблему и насладиться игрой.