Как узнать всех пользователей Linux

Как узнать всех пользователей Linux

Как посмотреть список пользователей в Linux? Рассказываем, где хранятся учётные данные и какие команды нужны, чтобы вывести их в консоль, как просмотреть список активных пользователей, узнать время последнего входа в систему и даже всю историю сеансов. Также объясняем, как получить доступ к параметрам пользователей через графический интерфейс.

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

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

Где хранится список пользователей Linux

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

Команда cat /etc/passwd

Запустите терминал и введите «cat /etc/passwd», команда выведет информацию об учётных записях Linux. Каждая строка соответствует одному пользователю:

Директива cat /etc/passwd
Директива cat /etc/passwd

Как читать список

Данные в списке структурированы, значения разделены символом «двоеточие»:

  • вначале указан логин Linux,
  • затем пароль (он скрыт, обозначен как «Х» и хранится в файле /etc/shadow),
  • UID (Unique identifier или User identifier) — уникальный идентификатор, система различает пользователей именно по ID, а не по логину,
  • GID (Group ID) — групповой идентификатор, каждый пользователь Linux является членом как минимум одной группы,
  • ячейка для комментария (можно указать контактные данные, имя службы или любые значимые сведения),
  • домашний каталог,
  • указывает на наличие/отсутствие доступа к командной оболочке.

Псевдопользователи Linux

Большая часть пользователей, перечисленных на скриншоте, — системные или псевдопользователи. Это учётные записи, созданные Linux для работы внутренних процессов и служб. Пользователи, которых создал администратор, называются локальными. Чтобы отличить системных юзеров от локальных, обратитесь к UID: учётки, созданные системой, имеют UID < 1000, у остальных значение будет ≥ 1000. UID администратора равен нулю. Кроме того, псевдопользователей в списке можно вычислить по параметру «nologin» в конце строки, означающему, что они не могут войти в систему.

Команда «getent passwd»

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

Услуги хостинга и аренды VPS/VDS с опцией «Всё включено» у провайдера AdminVPS избавят вас от необходимости администрирования сервера — её на себя возьмут наши специалисты.

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

Ниже перечислены несколько способов просмотреть список логинов.

Инструмент CompGen

Утилита сформирует список, в который войдут только логины, а вся дополнительная информация будет отсечена. Для этого введите в командной строке:

«compgen» с флагом «-u»

Команда cut

«Вырезает» выбранные поля из каждой строки файла. Нам нужно первое поле, поэтому добавим флаг «-f1». Опция «-d:» сообщает, что поля разделены двоеточием. В конце добавляем файл-источник.

cut -d: -f1 /etc/passwd

Инструмент sed

SED — потоковый текстовый редактор, который может искать, заменять, вставлять, удалять содержимое текстовых файлов, не открывая их. Нам нужен следующий вариант команды:

sed 's/:.*//' /etc/passwd

Утилита awk

С её помощью можно не только выполнить поиск определённого слова или шаблона, но и выделить строку или столбец из файла:

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

Информация о действиях и сеансах

Список всех, кто подключён в данный момент

  • Самый простой способ вывести список всех активных сеансов — утилита who, которая выводит текущий список активных пользователей компьютерной системы и сопутствующую информацию:
Утилита who
Утилита who

Данные выводятся в виде таблицы, где первый столбец — это имя, далее — способ подключения, затем — время начала сеанса и хост.

Если способ подключения обозначен двоеточием и числом, то используется GUI (открыт сеанс рабочего стола), если поле содержит значение «pts» (Pseudo Terminal Slave) и число, то соединение происходит через SSH и виртуальный терминал. В скобках после времени начала сеанса указан хост. Двоеточие и число указывают на локальный вход (в этом случае они будут дублировать поле со способом подключения), для удалённых подключений приводится IP-адрес.

  • Директива «users». Команда по результатам похожа на «who», но выводит только логины, поэтому подходит, когда будет достаточно краткой справки о сеансах.
  • Команда «pinky» без дополнительных опций выведет список всех авторизованных в данный момент пользователей.
  • Также список вошедших пользователей выводит команда «w». Эта утилита предоставляет расширенную информацию, в том числе текущую активность (в момент проверки) и нагрузку на сервер, которая создаётся.

Последняя активность

Last

Инструмент для просмотра истории сессий по UID или терминалу. Чтобы вывести всю историю входов/выходов, используйте:

last -F -w -x

Посмотреть список удалённых сеансов:

last -d -F -w -x

История сеансов определённого пользователя:

last «username»

Lastlog

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

Пользователь с определённым именем

Чтобы узнать, существует ли пользователь Linux с конкретным именем (в примере это «username») и выборочно вывести информацию о нём, введите в терминале:

getent passwd | grep «username»

Если применять «pinky» с флагом «-l» и «username», то отобразятся данные только об одной учётке.

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

Для тех, кто привык работать через GUI, тоже есть удобные способы. Мы продемонстрируем их на примере оболочки рабочего стола GNOME, в других средах порядок действий может быть другим.

Раздел «Пользователи»

  1. Нажмите на «Обзор» в левом верхнем углу рабочего стола, в строке поиска введите «Настройки». Зайдите в раздел с настройками.
«Обзор» и «Настройки»
«Обзор» и «Настройки»
  1. Затем в левом вертикальном меню выберите «Пользователи»:
«Пользователи» в настройках
«Пользователи» в настройках
  1. В области справа нажмите «Разблокировать»:
«Разблокировать»
«Разблокировать»

После этого вы сможете создавать новых пользователей, редактировать настройки и просматривать их список.

Приложение Gnome system tools

Список можно посмотреть не только через раздел настроек, но и в специальном приложении, предназначенном для управления учётными записями и группами. Чтобы установить его, введите в терминал:

apt install gnome-system-tools

Когда программа установится, запустите её.

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

Параметры выбранной учётной записи
Параметры выбранной учётной записи

Теперь вы знаете, как узнать всех пользователей Linux.

Читайте в блоге:

Что будем искать? Например,VPS-сервер

Мы в социальных сетях