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

Чтобы вывести список всех пользователей в Linux, лучшей универсальной командой является `getent` getent passwd. Если вам нужны только имена пользователей, выполните `getent` getent passwd | cut -d: -f1. Обычно это дает более полные результаты, чем /etc/passwdпрямое чтение, поскольку `getent` следует конфигурации службы имен (NSS) системы , поэтому он может включать учетные записи, предоставленные такими службами, как LDAP или другими настроенными источниками идентификации.

Вывести список всех пользователей с помощью команды getent

Откройте терминал и выполните следующую команду:

getent passwd

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

getent passwd | cut -d: -f1

Вы также можете просмотреть информацию по одной известной учетной записи, не прокручивая весь список:

getent passwd alice

В документации библиотеки GNU C поясняется, что NSS управляет тем, как системные базы данных, такие как, passwdразрешаются посредством /etc/nsswitch.conf. См. документацию по NSS в библиотеке GNU C.

В терминале Linux отображается команда getent passwd и несколько записей учетных записей пользователей.
getent passwdОтображает записи учетных записей, доступные через настроенные источники базы данных пользователей.

Список локальных пользователей из файла /etc/passwd

Если вам необходимо хранить учетные записи именно в локальной базе данных паролей, ознакомьтесь с файлом /etc/passwd. Этот файл содержит одну запись, разделенную двоеточием, для каждой локальной учетной записи. Типичная запись включает имя пользователя, заполнитель пароля, UID, основной GID, поле для комментариев, домашний каталог и оболочку входа в систему.

Только для имен пользователей:

cut -d: -f1 /etc/passwd

Аналогичный результат можно получить следующим образом awk:

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

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

В терминале Linux отображается фрагмент кода, извлекающий имена пользователей из локального файла /etc/passwd.
Эта cutкоманда извлекает только первое поле, которое представляет собой имя пользователя.

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

Для просмотра всего локального файла используйте следующую команду, lessчтобы обеспечить удобную прокрутку:

less /etc/passwd

Вы также можете распечатать файл напрямую:

cat /etc/passwd

В современных системах Linux поле пароля обычно содержит x. Это не означает, что пароль хранится в виде открытого текста в /etc/passwd; хеши паролей обычно хранятся отдельно в /etc/shadow, который имеет более строгие права доступа. Проект Linux man-pages описывает семь полей и это поведение теневого пароля в passwd(5) .

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

Вывести список имен пользователей с помощью команды Bash compgen

Если вы используете Bash, compgenможно сгенерировать варианты автодополнения имени пользователя:

compgen -u

Для просмотра длинного изображения используйте следующую команду:

compgen -u | less

Или удалите повторяющиеся имена и отсортируйте результат:

compgen -u | sort -u

compgenЭто встроенная функция Bash, поэтому она менее универсальна, чем getentдля скриптов, которые должны работать в разных оболочках. В руководстве GNU Bash это описано compgenкак часть средств программируемого автодополнения Bash.

В терминале Linux отображается вывод команды compgen -u через конвейер в less с постраничным отображением списка имен пользователей.
В Bash compgen -u | lessпредоставляет постраничный список имен пользователей.

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

Не существует единого порогового значения UID, подходящего для всех дистрибутивов Linux или организаций. Во многих системах более низкие значения UID резервируются для системных учетных записей, а обычным пользователям назначаются значения, начиная с установленного минимума, но эта политика может различаться. Если ваша система использует /etc/login.defs, вы можете проверить установленный минимум с помощью:

grep '^UID_MIN' /etc/login.defs

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

getent passwd | awk -F: '$7 !~ /(nologin|false)$/ {print $1}'

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

Сохраняйте, подсчитывайте или ищите пользователей в списке.

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

  • Сохранить имена пользователей: getent passwd | cut -d: -f1 > ~/linux-users.txt
  • Подсчитайте количество возвращенных учетных записей: getent passwd | cut -d: -f1 | wc -l
  • Найдите одну учетную запись: getent passwd username

Какой метод следует использовать?

КомандаЛучше всего подходит для
getent passwdОптимальный вариант по умолчанию; соответствует настроенным источникам данных пользователя NSS.
cut -d: -f1 /etc/passwdТолько локальные имена пользователей
cat /etc/passwdилиless /etc/passwdПроверка полных локальных записей учетных записей
compgen -uБыстрый просмотр имен пользователей из Bash

Для большинства администраторов и пользователей настольных компьютеров начните с getent passwd | cut -d: -f1. Используйте , /etc/passwdесли вам намеренно нужны только локальные учетные записи.

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

Как безопасно восстановить потерянные разделы и данные с жесткого диска

Как безопасно восстановить потерянные разделы и данные с жесткого диска

Узнайте, как восстановить потерянные разделы и файлы с помощью TestDisk и PhotoRec. Защитите исходный диск, проведите безопасное сканирование и сохраните восстановленные данные на другой диск.

Как сканировать QR-коды на настольном компьютере с Linux

Как сканировать QR-коды на настольном компьютере с Linux

Сканируйте QR-коды в Linux с помощью CoBang, используя веб-камеру или файл изображения. См. варианты установки, шаги настройки и решения проблем с доступом к камере Flatpak.

Как изменить настройки веб-камеры в Linux с помощью Cameractrls

Как изменить настройки веб-камеры в Linux с помощью Cameractrls

Изменяйте настройки веб-камеры в Linux с помощью Cameractrls: настраивайте экспозицию, цвет, подавление мерцания и другие поддерживаемые параметры, а затем проверяйте совместимые видеорежимы.

Как установить PhpStorm на Linux: Toolbox, Tar.gz, Snap и AUR

Как установить PhpStorm на Linux: Toolbox, Tar.gz, Snap и AUR

Установите PhpStorm на Linux с помощью JetBrains Toolbox или автономного архива tar.gz, а также через Snap и Arch AUR. Java уже включена в комплект.

Как создать резервную копию CD-ROM в формате ISO в Linux

Как создать резервную копию CD-ROM в формате ISO в Linux

Создайте образ CD-ROM ISO в Linux с помощью GNOME Disks или dd. Определите оптический привод, отслеживайте процесс копирования, проверяйте образ и узнавайте, когда поврежденный диск или аудиодиск требует использования другого инструмента.

Как вырезать изображение в Linux с помощью GIMP

Как вырезать изображение в Linux с помощью GIMP

Удаление фона фотографии в Linux с помощью GIMP: обведите контур объекта, удалите выделенный фон, сохранив прозрачность, и экспортируйте многоразовый PNG-файл.

Как установить Cisco Packet Tracer на Linux

Как установить Cisco Packet Tracer на Linux

Загрузите Cisco Packet Tracer 9.0.1 для Ubuntu 64-бит, установите DEB-пакет с помощью APT, примите лицензионное соглашение в Терминале и войдите в систему, чтобы начать лабораторную работу.

Скачайте FlightGear бесплатно: официальное руководство по установке

Скачайте FlightGear бесплатно: официальное руководство по установке

Скачайте FlightGear бесплатно с официального сайта. Сравните пакеты для Windows, macOS и Linux, установите файлы данных и совершите свой первый полет.

Настольное приложение Google Tasks: как им пользоваться на компьютере

Настольное приложение Google Tasks: как им пользоваться на компьютере

Откройте Google Задачи в браузере, добавьте ярлык Chrome или запустите приложение, и управляйте задачами с указанием даты через Календарь и Gmail.

OKSampler: Бесплатный и простой музыкальный сэмплер для клавишных ритмов.

OKSampler: Бесплатный и простой музыкальный сэмплер для клавишных ритмов.

OKSampler сопоставляет MP3-клипы с клавишами клавиатуры и может зацикливать аудио. Узнайте, что делает эта старая бесплатная программа, на чем заканчиваются ее старые функции и что нужно проверить перед загрузкой.