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

How List Users Linux



Linux - это многопользовательская операционная система. Чтобы система оставалась функциональной и производительной, необходимо надлежащее управление пользователями. Системному администратору необходимо знать всех пользователей для управления пользователями и разрешениями.

В этом руководстве показано, как составить список пользователей в Linux.







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

Система хранит список пользователей в определенных файлах и базах данных. Мы можем получить к ним доступ с помощью различных инструментов. Мы также можем фильтровать вывод для сбора конкретной информации.



Список пользователей из / etc / passwd
Файл / etc / passwd - это база данных в виде простого текста, которая содержит информацию обо всех пользователях в системе. Файл принадлежит пользователю root с правами доступа 644. Чтобы получить подробное объяснение прав доступа к файлам, ознакомьтесь с этим руководством по правам доступа к файлам и владению ими в Linux.



Мы можем проверить содержимое файла / etc / passwd, чтобы получить полный список всех пользователей в системе.





$ cat / etc / passwd | сортировать | меньше

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



  • Поле 1: имя пользователя.
  • Поле 2: описывает, зашифрован ли пароль пользователя. Если значение равно x, это означает, что пароль хранится в текстовом файле / etc / shadow. Это файл, защищенный системой, для доступа к которому требуется привилегия sudo.
  • Поле 3: UID (идентификатор пользователя) пользователя.
  • Поле 4: GID (идентификатор группы) пользователя.
  • Поле 5: Полное имя пользователя (GECOS).
  • Поле 6: Домашний каталог, предназначенный для пользователя.
  • Поле 7: Оболочка входа пользователя. По умолчанию это значение будет / bin / bash.

Если в данный момент дополнительная информация не нужна, мы можем опустить их в выводе.

$ cat / etc / passwd | awk -F: '{print $ 1}' | Сортировать

$ cat / etc / passwd | вырезать -d: -f1 | Сортировать

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

$ getent --help

Нас интересует база данных passwd, поскольку она содержит информацию обо всех пользователях в системе. Проверьте пароль база данных с getent.

$ getent passwd | Сортировать

Вывод аналогичен содержимому / etc / passwd. Обратите внимание, что эта команда getent будет отображать пользователей из баз данных passwd и LDAP, если система настроена на использование LDAP для аутентификации пользователей. Для более подробного использования ознакомьтесь с этим руководством по команде getent в Linux.

Мы можем удалить всю дополнительную информацию из вывода, сохранив только имя пользователя.

$ getent passwd | awk -F: '{print $ 1}' | Сортировать

$ getent passwd | вырезать -d: -f1 | Сортировать

Список пользователей группы
В Linux группы - это организационные единицы для организации и администрирования учетных записей пользователей. Это помогает легче управлять различными разрешениями системы и файлов.

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

группа $ getent

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

Теперь мы знаем, как составить список всех пользователей в системе. Вот несколько сценариев применения этих знаний.

Проверка существования пользователя
Из списка пользователей мы можем проверить, существует ли пользователь в системе Linux. Инструмент getent может проверить, существует ли пользователь в системе.

$ getent passwd

Другой (хотя и не очень хороший) метод - использовать grep. Мы можем просто отфильтровать список пользователей с помощью grep. Поскольку у каждого пользователя своя уникальная запись, коллизий не возникает.

$ getent passwd | grep

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

Чтобы подсчитать номер строки, мы будем использовать Туалет орудие труда. Передайте вывод getent команде wc.

$ getent passwd | wc -l

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

$ кто

Вывод состоит из трех различных столбцов информации.

  • Столбец 1: подключенное имя пользователя.
  • Столбец 2: Тип подключения к системе.
  • Столбец 3: время и дата начала сеанса.

Последние мысли

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

Управление пользователями - большая часть экосистемы Linux. Чтобы узнать больше, ознакомьтесь с этим подробным руководством по как составлять список и управлять пользователями в Linux .

Удачных вычислений!