- Смотрим список пользователей в Linux
- В графическом интерфейсе
- Gnome
- LXQT
- KDE
- В терминале
- Команда w
- Как вывести список пользователей в Linux
- Получите список всех пользователей с помощью файла /etc/passwd
- Получите список всех пользователей с помощью команды getent
- Проверить, существует ли пользователь в системе Linux
- Системные и обычные пользователи
- Выводы
- Как посмотреть список пользователей Linux
Смотрим список пользователей в Linux
Рассказываем, как отобразить список пользователей в разных дистрибутивах Linux.
В графическом интерфейсе
Скорее всего, в вашу систему уже установлена какая-то графическая оболочка, и в ней есть программа для просмотра списка пользователей и управления ими.
Gnome
В оболочке Gnome 3 есть встроенная утилита для управления пользователями и группами. Покажу, как использовать ее на примере дистрибутива Ubuntu 18.04.
Если вы пользуетесь другим рабочим столом (KDE или XFCE), но хотите использовать эту утилиту для просмотра и управления пользователями, то сначала придется ее скачать. Для этого:
Нам нужен терминал. В Gnome он так и называется. В KDE вы можете наткнуться на другой вариант, например, на Konsole. Суть одна и та же
Такая команда сработает только в дистрибутивах, где используется пакетный менеджер apt. Это касается Ubuntu и других производных от Debian (нужно уточнять). В Fedora, например, вместо apt-get нужно писать dnf , а в Arch Linux — pacman -s .
LXQT
Если нужна утилита попроще, да и вообще вы хотите использовать компоненты из оболочки LXQT для управления пользователями, то можно проделать следующее:
- Для начала подключим репозиторий с компонентами рабочего стола LXQT. Если этого не сделать, то загрузить программы, связанные с оболочкой, просто не получится. Для этого открываем терминал и вводим туда команду sudo add-apt-repository ppa:lxqt-ppa/ppa .
Стоит отметить, что эта процедура не всегда нужна. Почти во всех дистрибутивах, что я тестировал, этот репозиторий был по умолчанию.
- Дожидаемся ее завершения. Затем вводим команду sudo apt-get update , чтобы обновить список репозиторием и его содержимым.
- После этого вписываем команду sudo apt-get install lxqt-admin . Она установит утилиту для управления пользователями из оболочки LXQT.
- Иконка приложения может не появиться в Dashboard, поэтому придется вводить в терминал команду lxqt-admin-user .
- На этом все. Перед нами появится список основных пользователей Linux. Но это не все. На самом деле их намного больше, и их можно увидеть в других программах.
KDE
Также стоит упомянуть еще один популярный рабочий стол и его компоненты. Вам могут понравиться утилиты для управления пользователями из этой оболочки, поэтому расскажу вам про нее. Для начала загрузим программу kuser.
- Открываем терминал.
- Вводим туда команду sudo add-apt-repository ppa:kubuntu-ppa/ppa , чтобы добавить в систему репозиторий с компонентами KDE. В противном случае вы не получите доступ к компонентам этого рабочего стола.
- Следующей командой устанавливаем утилиту kuser: sudo apt-get install kuser .
Система сама соберет все зависимые компоненты и подгрузит их вместе с утилитой kuser. Поэтому эта процедура может занять довольно много времени
- Затем нужно ввести пароль от учетной записи администратора.
- Потом терминал запросит ввести символ y , чтобы продолжить установку.
- Вероятно, приложение не появится в списке установленных, и для его запуска придется ввести команду в терминал.
В терминале
А теперь речь пойдет о более универсальных методах. Описанные ниже команды и файлы работают во всех дистрибутивах Linux и не требуют загрузки или установки дополнительных компонентов. При этом они дают большое количество информации, которую можно оформить по своему желанию.
Команда w
Да, все просто. Достаточно ввести в терминал любого Linux-дистрибутива единственный символ и перед вами появится список пользователей, которые авторизовались в системе и прямо сейчас ее используют.
Она дает не так много информации, но ее гораздо больше, чем в графическом интерфейсе. Например, указывается время пребывания пользователя в операционной системе.
Как вывести список пользователей в Linux
Вы когда-нибудь хотели перечислить всех пользователей в вашей системе Linux или подсчитать количество пользователей в системе? Есть команды для создания пользователя, удаления пользователя, вывода списка пользователей, вошедших в систему, но какова команда для вывода списка всех пользователей в Linux?
Это руководство покажет вам, как составить список пользователей в системах Linux.
Получите список всех пользователей с помощью файла /etc/passwd
Информация о локальном пользователе хранится в /etc/passwd . Каждая строка в этом файле представляет информацию для входа в систему для одного пользователя. Чтобы открыть файл, вы можете использовать cat или less :
Каждая строка в файле содержит семь полей, разделенных двоеточиями, которые содержат следующую информацию:
- Имя пользователя.
- Зашифрованный пароль ( x означает, что пароль хранится в /etc/shadow ).
- Идентификационный номер пользователя (UID).
- Идентификационный номер группы пользователя (GID).
- Полное имя пользователя (GECOS).
- Домашний каталог пользователя.
- Оболочка входа (по умолчанию /bin/bash ).
Если вы хотите отображать только имя пользователя, вы можете использовать команды awk или cut для печати только первого поля, содержащего имя пользователя:
root daemon bin sys sync . . sshd vagrant jack anne
Получите список всех пользователей с помощью команды getent
Команда getent отображает записи из баз данных, настроенных в файле /etc/nsswitch.conf , включая базу данных passwd , которую можно использовать для запроса списка всех пользователей.
Чтобы получить список всех пользователей Linux, введите следующую команду:
Как видите, вывод такой же, как и при отображении содержимого файла /etc/passwd . Если вы используете LDAP для аутентификации пользователей, getent отобразит всех пользователей Linux как из файла /etc/passwd и из базы данных LDAP.
Вы также можете использовать awk или cut для печати только первого поля, содержащего имя пользователя:
Проверить, существует ли пользователь в системе Linux
Теперь, когда мы знаем, как составить список всех пользователей, чтобы проверить, существует ли пользователь в нашем Linux-сервере, мы можем просто отфильтровать список пользователей, передав его по конвейеру команде grep .
Например, чтобы узнать, существует ли в нашей системе Linux пользователь с именем jack мы можем использовать следующую команду:
Если пользователь существует, приведенная выше команда распечатает информацию для входа в систему. Нет вывода, что означает, что пользователь не существует.
Мы также можем проверить, существует ли пользователь, не используя команду grep как показано ниже:
Как и раньше, если пользователь существует, команда отобразит информацию для входа в систему.
Если вы хотите узнать, сколько учетных записей пользователей у вас в системе, getent passwd вывод getent passwd команде wc :
Как видно из вышеприведенного вывода, в моей системе Linux 33 учетных записи пользователей.
Системные и обычные пользователи
Технической разницы между системой и обычными (обычными) пользователями нет. Обычно пользователи системы создаются при установке ОС и новых пакетов. В некоторых случаях вы можете создать системного пользователя, который будет использоваться некоторыми приложениями.
Обычные пользователи — это пользователи, созданные пользователем root или другим пользователем с привилегиями sudo. Обычно у обычного пользователя есть настоящая оболочка входа в систему и домашний каталог.
У каждого пользователя есть числовой идентификатор пользователя, называемый UID. Если не указан при создании нового пользователя с помощью команды useradd , UID будет автоматически выбран из файла /etc/login.defs зависимости от UID_MIN и UID_MIN .
Чтобы проверить значения UID_MIN и UID_MIN в вашей системе, вы можете использовать следующую команду:
grep -E '^UID_MIN|^UID_MAX' /etc/login.defs
UID_MIN 1000 UID_MAX 60000
Из выходных данных выше мы видим, что все обычные пользователи должны иметь UID от 1000 до 60000. Знание минимального и максимального значения позволяет нам запрашивать список всех обычных пользователей в нашей системе.
Команда ниже перечислит всех обычных пользователей в нашей системе Linux:
vagrant:x:1000:1000:vagrant. /home/vagrant:/bin/bash jack:x:1001:1001. /home/jack:/bin/bash anne:x:1002:1002:Anne Stone. /home/anne:/bin/bash patrick:x:1003:1003:Patrick Star. /home/patrick:/usr/sbin/nologin
UID_MIN и UID_MIN вашей системы могут отличаться, поэтому более общая версия приведенной выше команды будет:
eval getent passwd <$(awk '/^UID_MIN/ ' /etc/login.defs)..$(awk '/^UID_MAX/ ' /etc/login.defs)>
Если вы хотите распечатать только имена пользователей, просто направьте вывод в команду cut :
eval getent passwd <$(awk '/^UID_MIN/ ' /etc/login.defs)..$(awk '/^UID_MAX/ ' /etc/login.defs)> | cut -d: -f1
Выводы
В этом руководстве вы узнали, как составлять список и фильтровать пользователей в вашей системе Linux, а также каковы основные различия между системными и обычными пользователями Linux.
Те же команды применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian и Linux Mint.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Как посмотреть список пользователей Linux
Привет всем любителям и почитателям альтернативных операционных систем! Я, конечно, чаще всего работаю в Windows, но и с «Пингвином» приходится довольно часто общаться. Недавно мне понадобилось посмотреть список пользователей из старенького файлового сервера на Ubuntu Linux чтобы завести их всех на новом, более мощном под управлением CentOS. Старый уже практически отжил своё и вот-вот должен накрыться, но пока ещё запускается.
Итак, чтобы вывести список пользователей Линукс в консоли, достаточно просто вывести содержимое системного файла passwd , который лежит в директории /etc . Он содержит полную информацию о каждом логине.
Делается это с помощью команды:
Чтобы исключить из списка системные учётные записи и вычленить только несистемные логины, воспользуйсь вот таким вариантом:
Если полная информация не нужна и достаточно всего лишь логинов, то лучше использовать вот такую команду:
Мне именно такой вариант был удобнее, потому как я просто скопировал его и вставил в лист Excel, получив в каждой строчке по логину.
Есть и ещё один неплохой вариант получить список пользователей Linux (Ubuntu, Fedora, CentOS и т.д.) в консоли — это утилита getent . Она используется для того, чтобы выполнить чтение информации по базам данных операционной системы и вывести результат поиска. Команда будет выглядеть так:
Результат выполнения будет таким:
И ещё! Иногда надо посмотреть список активных пользователей Linux, то есть тех, которые сейчас залогинен в системе. Для этого надо воспользоваться другой командой:
Этим Вы вызовите системную утилиту users, которая перечислит все текущие логины, которые подключились к системе в отсортированном по имени виде.
Альтернативным вариантом может служить команда:
То есть Вы увидите таблицу, где будут отображены все виртуальные консоли с залогиненными в них юзерами.