Как составить список пользователей в 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 поможет вам обнаружить любые учетные записи, которые могли застрять.

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

Оставить комментарий

Outlook получает почту, но не отправляет? Как найти и устранить истинную причину

Outlook получает почту, но не отправляет? Как найти и устранить истинную причину

Исправьте Outlook, когда входящая почта работает, а отправка не удается. Изолируйте проблемы с веб-почтой, папкой «Исходящие», SMTP, лимитами аккаунта и профилем без догадок.

Как конвертировать PDF в редактируемый документ Word без потери форматирования

Как конвертировать PDF в редактируемый документ Word без потери форматирования

Конвертируйте PDF в редактируемый Word, сохраняя максимальное количество форматирования. Узнайте о лучшем методе, проверке качества, опциях OCR и случаях, когда стоит сменить подход.

Как запретить Excel автоматически преобразовывать числа в даты

Как запретить Excel автоматически преобразовывать числа в даты

Узнайте, как предотвратить превращение записей вроде 1-2, 3/4, JAN1 и кодов товаров в даты. Используйте текстовый формат, апостроф, настройки автоматического преобразования данных или контролируемый импорт CSV.

Простой шаблон презентации для адаптации новых сотрудников: практическое руководство по слайдам

Простой шаблон презентации для адаптации новых сотрудников: практическое руководство по слайдам

Создайте понятную презентацию для адаптации новых сотрудников с практическим планом слайдов, примерами контента, советами по настройке и чек-листом готовности.

Как исправить ошибку открытия документа Word в режиме «Только для чтения» на Mac

Как исправить ошибку открытия документа Word в режиме «Только для чтения» на Mac

Исправьте ошибку открытия документа Word в режиме «Только для чтения» на Mac, проверив режим Word, разрешения Finder, права доступа, обновления Office и активацию.

Простой шаблон матрицы делегирования задач в Word для руководителей небольших команд

Простой шаблон матрицы делегирования задач в Word для руководителей небольших команд

Используйте этот простой шаблон матрицы делегирования задач в Word для назначения ответственных, определения полномочий, сроков, контрольных точек и критериев успеха, а также узнайте, когда лучше использовать диаграмму RACI или приложение для управления задачами.

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: сим не спит.