Как вывести список пользователей в Linux? (Список пользователей Debian)

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

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

В этой статье мы покажем, как вывести список пользователей в Linux с помощью интерфейса командной строки. Все рассмотренные здесь команды продемонстрированы на дистрибутиве Ubuntu 22.04 LTS Jammy JellyFish. Давайте рассмотрим эти команды, чтобы эффективно управлять пользователями в системах Ubuntu.

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

Существует два основных способа вывести список пользователей в дистрибутивах Linux.

  1. Вывод списка пользователей в Linux через просмотр содержимого файла /etc/passwd.
  2. Вывод списка пользователей в Linux с помощью команды getent.

Вывод списка пользователей в Linux через просмотр содержимого файла /etc/passwd (команда Linux для списка пользователей)

Первый способ заключается в просмотре содержимого файла /etc/passwd, в котором хранятся данные всех локальных пользователей. Просмотреть содержимое файла /etc/passwd можно с помощью таких команд, как cat или less:

$ cat /etc/passwd

Или

$ less /etc/passwd

Каждая строка в файле /etc/passwd содержит информацию об одном локальном пользователе. Эти строки состоят из полей, разделённых двоеточиями. Для каждого пользователя отображается следующая важная информация:

  • имя пользователя для входа;
  • зашифрованный пароль (обычно обозначается как «x», поскольку сам пароль хранится в файле /etc/shadow);
  • идентификационный номер пользователя (UID);
  • идентификационный номер группы пользователя (GID);
  • полное имя пользователя (часто его называют GECOS);
  • основной, или домашний, каталог пользователя;
  • оболочка входа по умолчанию, обычно /bin/bash.

Просматривая содержимое файла «/etc/passwd», администраторы могут узнать, какие пользователи зарегистрированы в системе, и получить связанные с ними данные. Этот способ позволяет просто вывести список пользователей в Linux.

Вывод списка пользователей Linux с помощью команд awk и cut (команды Linux для списка пользователей)

Если нужно вывести из файла /etc/passwd только имена пользователей в системе Linux, например Ubuntu, можно воспользоваться командой awk или cut. Это мощные инструменты обработки текста, позволяющие извлекать из файла определённые поля.

С помощью команды awk можно легко получить из файла /etc/passwd первое поле, которое содержит имя пользователя. Синтаксис этой команды следующий:

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

Аналогично для этой цели можно использовать команду cut. Она позволяет указать разделитель и номер поля, которое нужно извлечь. В данном случае мы используем «:» как разделитель полей и «1», чтобы указать первое поле (имя пользователя):

$ cut -d: -f1 /etc/passwd

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

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

Команда getent в Linux предназначена для получения записей из административной базы данных по заданным ключам поиска. В Ubuntu getent собирает и отображает записи из базы данных, настроенной в файле /etc/nsswitch.conf. С помощью этой команды можно запрашивать базу данных passwd и выводить список пользователей.

Чтобы вывести список пользователей Ubuntu, просто выполните следующую команду:

$ getent passwd

Если нужно вывести только имена пользователей, можно объединить команду getent с «awk» или «cut». Вот как это сделать с помощью awk:

$ getent passwd | awk -F: '{ print $1}'

Такой же результат можно получить с помощью команды cut:

$ getent passwd | cut -d: -f1

Обе эти команды с getent позволяют вывести список пользователей в Linux или получить определённую информацию, например имена пользователей.

Проверка пользователей в Linux с помощью команд getent и grep

С помощью команды getent можно выяснить, существует ли определённый пользователь в вашей системе Ubuntu Linux. Объединив getent с grep, можно быстро проверить наличие пользователя. Синтаксис следующий:

$ getent passwd | grep user-name

Например, предположим, мы хотим определить, существует ли в нашей системе пользователь с именем «samreena». Для этого выполним следующую команду:

$ getent passwd | grep username

Если указанный пользователь «samreena» существует в вашей системе Ubuntu, команда отобразит связанные с ним данные учётной записи. Если же пользователя с таким именем нет, команда ничего не выведет.

Также можно проверить наличие пользователя напрямую, без команды grep, указав имя пользователя после getent passwd:

$ getent passwd user_name

Вывод списка всех подключённых пользователей в Linux

Чтобы вывести список всех пользователей, подключённых к хосту Linux в данный момент, команды cat для файла passwd недостаточно. Вместо этого следует выполнить команду «who» или «users».

$ who 
$ users

Команда «who» или «users» выводит список пользователей, которые в данный момент вошли в систему. Эти команды предоставляют информацию в реальном времени о подключениях пользователей к хосту Linux.

Вывод списка пользователей в Linux для отображения всех учётных записей

Чтобы определить общее количество учётных записей пользователей в системе Linux, можно воспользоваться командой «getent passwd» вместе с «wc -l» для подсчёта строк. 

$ getent passwd | wc -l

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

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

Заключение

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

Используя такие команды, как «getent passwd», администраторы могут легко получать исчерпывающие данные о пользователях своих систем, что позволяет им контролировать доступ, применять политики безопасности и устранять любые возникающие проблемы. 

Понимание этих команд и их аргументов необходимо администраторам для эффективного управления пользователями и поддержания целостности и безопасности своих систем Linux или серверов Linux VPS. Имея в распоряжении эти инструменты, администраторы могут уверенно работать с аспектами системного администрирования, связанными с пользователями, и создавать надёжную и хорошо защищённую вычислительную среду.