Просмотр пользователей linux через терминал

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

В системе Линукс может быть зарегистрировано множество пользователей. Иногда их список требуется для ознакомления. Для каких целей это необходимо? К примеру, чтобы проверить, не находится ли в системе кто-нибудь лишний. Подобная информация также нужна в том случае, если возникает необходимость изменить группу и другие данные для конкретного юзера Linux. И если опытные пользователи открывают список на раз, да еще и знают уйму альтернативных способов, то новички зачастую теряются в данном вопросе. Для неопытного владельца Линукс это может стать настоящей проблемой. Но главное, что она решаема! Остаётся лишь узнать, как это делается. В данном материале мы уделим внимание двум основным способам поиска списка пользователей в системе. Этого будет вполне достаточно для новичка.

Способ №1: через терминал

Так как дистрибутивы Линукс могут отличаться между собой, целесообразно рассматривать универсальные способы поиска нужной информации. Одним из таких способов является просмотр списка пользователей посредством терминала. В отличие от Windows в системе Linux данные о пользователях хранятся в специальном файле.

Чтобы прочитать системный файл, потребуется открыть его любым редактором или утилитой cat. $ cat /etc/passwd После этого на экране отобразится список пользователей Линукс. Ознакомьтесь с ним внимательнее. Возле каждого юзера указан его персональный ID. Если ID меньше 1000, то пользователь системный. Они должны оставаться в данном списке для более безопасной работы некоторых установленных сервисов. Удалять этих пользователей не нужно. /etc/passwdИнформация в открывшемся окне будет подана в развернутом и детальном виде, что не всегда удобно для поиска конкретных данных. Если нужно посмотреть только имена юзеров системы, следует применить один простой трюк: $ sed ‘s/:.*//’ /etc/passwd С помощью этой команды осуществляется фильтрация лишней информации. В открывшемся списке видны пользователи, зарегистрированные в системе Линукс. Список пользователей без лишний информацииТеперь немного усложним задачу: посмотрим список активных юзеров и узнаем, какие команды они выполняют в текущий момент времени. Для этих целей нужно запустить утилиту: $ w На экран выведутся выполняемые команды для каждого активного пользователя. А чтобы получить информацию относительно сеансов пользователей, потребуется применить команду данного вида: $ last -a История входов доступна для ознакомления! Чтобы посмотреть дату последнего сеанса пользователей системы, задайте в терминале: $ lastlog

Читайте также:  Браузер chromium gost linux

Способ №2: с помощью специальных программ

Данный способ подходит для операционных систем Линукс с графической оболочкой. Например управление пользователями в Ubuntu может осуществляться через параметры системы. Произведите запуск утилиты и найдите для дальнейшей работы пункт под названием «Учетные записи». В открывшемся окне не будет системных юзеров. Тем не менее, в левом блоке можно увидеть сам перечень пользователей, а в правом блоке – внести все необходимые коррективы в настройки. Если потребуется аналогичная утилита для KDE, рекомендуем воспользоваться проверенной и надежной программой под названием «KUser». С её помощью новичок быстро научится управлять пользователями системы Linux (менять пароли и группы, вносить изменения в данных и прочее). KUser откроет список, в котором содержатся все пользователи, включая системных юзеров Линукс. Если данный способ просмотра списка не удовлетворяет ваши запросы в полной мере, отдайте предпочтение выводу подробной информации через терминал компьютера.

Источник

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

Вы когда-нибудь хотели перечислить всех пользователей в вашей системе Linux или подсчитать количество пользователей в системе? Есть команды для создания пользователя, удаления пользователя, вывода списка пользователей, вошедших в систему, но какова команда для вывода списка всех пользователей в Linux?

Это руководство покажет вам, как посмотреть список пользователей в системах Linux.

Список всех пользователей Linux с помощью файла /etc/passwd

Информация о локальных пользователях хранится в файле /etc/passwd. Каждая строка в этом файле представляет информацию для входа в систему для одного пользователя. Чтобы открыть файл, вы можете использовать cat или less:

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

  • Имя пользователя.
  • Зашифрованный пароль (x означает, что пароль хранится в файле /etc/shadow).
  • Идентификационный номер пользователя (UID).
  • Идентификационный номер группы пользователя (GID).
  • Полное имя пользователя (GECOS).
  • Домашний каталог пользователя.
  • Оболочка входа (по умолчанию /bin/bash).
Читайте также:  Linux mint samba client

Если вы хотите отображать только имя пользователя, вы можете использовать команды awk или cut для печати только первого поля, содержащего имя пользователя:

awk -F: '< print $1>' /etc/passwd # ИЛИ cut -d: -f1 /etc/passwd

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

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

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

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

Вы также можете использовать awk или cut для печати только первого поля, содержащего имя пользователя:

getent passwd | awk -F: '< print $1>' # ИЛИ getent passwd | cut -d: -f1

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

Как проверить, существует ли пользователь в системе Linux

Теперь, когда мы знаем, как составить список всех пользователей, чтобы проверить, существует ли пользователь в нашем Linux-сервере, мы можем просто отфильтровать список пользователей, передав его по конвейеру команде grep.

Например, чтобы узнать, существует ли в нашей системе Linux пользователь с именем mial, мы можем использовать следующую команду:

Если пользователь существует, приведённая выше команда распечатает краткую информацию о нём. Если нет вывода, что означает, что пользователя не существует.

Мы также можем проверить, существует ли пользователь, не используя команду grep, как показано ниже:

Как и раньше, если пользователь существует, команда отобразит информацию для входа в систему.

Если вы хотите узнать, сколько учётных записей пользователей у вас в системе, передайте вывод getent passwd команде wc:

Как видно из вывода выше, на удалённом сервере Linux 510 учётных записи пользователей.

Системные и обычные пользователи

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

Обычные пользователи — это пользователи, созданные пользователем root или другим пользователем с привилегиями sudo. Обычно у обычного пользователя есть настоящая оболочка входа в систему и домашний каталог.

Читайте также:  Linux java bin directory

У каждого пользователя есть числовой идентификатор пользователя, называемый 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:

Значения 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

Как показать пользователей, имеющих оболочки входа

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

cat /etc/passwd | grep -E 'bash|sh|bin|zsh' cat /etc/passwd | grep -E -v 'nologin'

Обратите внимание, что эти команды не равнозначны.

Как вывести всех пользователей, имеющих домашний каталог

Если вы хотите составить список пользователей, у которых есть своя папка в директории /home, то используйте следующую команду:

Заключение

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

Те же команды применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian, Linux Mint, Arch Linux и Manjaro.

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Связанные статьи:

Рекомендуемые статьи:

1 Комментарий

Добрый вечер! Как человеку всю жизнь пользующемся Windows, не очень понятны вещи: 1) В каких группах состоит пользоватлей (Windows тема) — админ, пользователь и т. д. 2) Зачем столько пользоватлей? (в Windows SYSTEM и User — все.) 3) Зачем столько команд для вывода списка пользователей: less, cut, geten, compgen Сейчас будем массово переходить на Unix. И аналогии с фортачками могут сильно помочь. Спасибо!

Источник

Оцените статью
Adblock
detector