Как вывести список пользователей в Linux? (Список пользователей Debian)
Дистрибутивы Linux стали популярны среди технологических компаний, исследователей и крупных сообществ разработчиков приложений. В таких средах управление учётными записями пользователей в командных проектах необходимо для эффективного сотрудничества. В системах Linux администраторы могут удобно взаимодействовать с системой и контролировать управление пользователями с помощью различных команд.
Среди множества дистрибутивов Linux Ubuntu выделяется как один из самых распространённых и предлагает ряд функций, рассчитанных на системных администраторов. Один из ключевых аспектов системного администрирования - вывод списка всех пользователей и эффективное управление их задачами. Это облегчает предоставление привилегий, например доступа к файлам или папкам, и назначение разрешений для обеспечения безопасности данных системы.
В этой статье мы покажем, как вывести список пользователей в Linux с помощью интерфейса командной строки. Все рассмотренные здесь команды продемонстрированы на дистрибутиве Ubuntu 22.04 LTS Jammy JellyFish. Давайте рассмотрим эти команды, чтобы эффективно управлять пользователями в системах Ubuntu.
Как вывести список пользователей в Linux? (Список пользователей Linux)
Существует два основных способа вывести список пользователей в дистрибутивах Linux.
- Вывод списка пользователей в Linux через просмотр содержимого файла /etc/passwd.
- Вывод списка пользователей в 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. Имея в распоряжении эти инструменты, администраторы могут уверенно работать с аспектами системного администрирования, связанными с пользователями, и создавать надёжную и хорошо защищённую вычислительную среду.