Как просмотреть всех доступных пользователей в Linux: полное руководство для администраторов VPS
Управление учетными записями пользователей — одна из самых фундаментальных обязанностей любого администратора Linux. Независимо от того, проводите ли вы аудит разрешений доступа, устраняете проблемы входа или усиливаете безопасность вашего сервера, знание того, какие пользователи существуют в вашей системе, является важным навыком. Это руководство проведет вас через все практические методы для отображения и проверки пользователей Linux — от чтения необработанных системных файлов до использования мощных утилит командной строки.
Если вы используете среду VPS Hosting с AlexHost, эти методы применяются непосредственно к вашему серверу Ubuntu, Debian или CentOS и помогут вам сохранить полный контроль над тем, кто имеет доступ к вашей инфраструктуре.
Почему просмотр пользователей Linux важен для безопасности сервера
Прежде чем переходить к командам, стоит понять *почему* эта задача так важна. На любом Linux сервере — особенно на сервере, размещающем веб-приложения, такие как WordPress, Laravel или пользовательские API — со временем накапливается несколько учетных записей пользователей:
- Системные пользователи, созданные автоматически установленными сервисами (например,
www-data,mysql,nginx) - Административные пользователи с привилегиями
sudoили уровня root - Пользователи приложений, связанные с конкретными программными стеками
- Забытые или неиспользуемые учетные записи, оставленные после удаления программного обеспечения или изменения персонала
Регулярный аудит этих учетных записей помогает вам:
- Обнаруживать несанкционированные или подозрительные учетные записи
- Применять принцип наименьших привилегий
- Соответствовать политикам безопасности и требованиям аудита
- Выявлять неправильно настроенные оболочки или домашние каталоги
С корневым доступом AlexHost, хранилищем на базе NVMe и встроенной защитой от DDoS запуск этих команд быстрый, надежный и безопасный — даже на производственных системах под нагрузкой.

Понимание файла /etc/passwd
Вся информация об учетных записях пользователей в Linux хранится в файле /etc/passwd. Это база данных в виде простого текста, которую операционная система читает во время аутентификации и операций управления пользователями. Каждая строка в файле представляет одну учетную запись пользователя и следует этому структурированному формату:
username:password:UID:GID:comment:home_directory:shellВот что означает каждое поле:
| Поле | Описание |
|---|---|
username | Имя входа пользователя |
password | Исторически хранилось здесь; теперь заменено на x (фактический хеш находится в /etc/shadow) |
UID | Номер ID пользователя (0 = root, 1–999 = системные пользователи, 1000+ = обычные пользователи) |
GID | ID основной группы |
comment | Дополнительное описание или полное имя (поле GECOS) |
home_directory | Путь к домашней папке пользователя |
shell | Оболочка по умолчанию, назначенная пользователю |
Типичная запись выглядит так:
alexadmin:x:1001:1001:Alex Admin,,,:/home/alexadmin:/bin/bashПонимание этой структуры делает каждый метод ниже намного легче для интерпретации.
Способ 1: Просмотр всех пользователей путем прямого чтения /etc/passwd
Самый простой подход — вывести все содержимое /etc/passwd в ваш терминал. У вас есть два основных варианта в зависимости от того, как вы хотите навигировать по выводу.

Использование cat (лучше всего для короткого вывода или передачи данных)
cat /etc/passwdЭто выводит весь файл в стандартный вывод. На типичном сервере вы увидите десятки записей — большинство из них системные учетные записи.
Использование less (лучше всего для интерактивного просмотра)
less /etc/passwdПейджер less позволяет прокручивать файл в интерактивном режиме. Нажмите q для выхода, / для поиска и стрелки для навигации.
Пример вывода
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
alexadmin:x:1001:1001::/home/alexadmin:/bin/bash
deploy:x:1002:1002::/home/deploy:/bin/bashСовет профессионала: Учетные записи с /usr/sbin/nologin или /bin/false в качестве оболочки не могут входить в интерактивном режиме — это служебные учетные записи, используемые системными демонами.
Метод 2: Используйте getent для запроса базы данных пользователей
Команда getent (сокращение от *get entries*) извлекает записи из системных баз данных, определенных в /etc/nsswitch.conf. Это предпочтительный метод в современных окружениях Linux, поскольку он работает правильно даже когда учетные записи пользователей получены из внешних каталогов, таких как LDAP или NIS — не только из локального файла /etc/passwd.
getent passwdФормат вывода идентичен /etc/passwd, но getent гарантирует, что вы видите *всех* пользователей независимо от того, где они хранятся. На стандартном VPS AlexHost вывод будет совпадать с /etc/passwd, но использование getent считается лучшей практикой для портативности и полноты.
Фильтр для конкретного пользователя
getent passwd alexadminЭто возвращает только запись для пользователя alexadmin — полезно для быстрой проверки существования учетной записи и проверки ее конфигурации.
Способ 3: Извлечение только имен пользователей с cut
Когда вам нужен чистый список имен пользователей — без UID, домашних директорий или информации о shell — объедините getent с командой cut для выделения первого поля.
getent passwd | cut -d: -f1Как это работает:
getent passwdвыводит полную базу данных пользователей| cut -d: -f1передает этот вывод вcut, который использует:в качестве разделителя (-d:) и извлекает только первое поле (-f1) — имя пользователя
Пример вывода
root
daemon
bin
sys
www-data
alexadmin
deploy
backupЭтот чистый список идеален для написания скриптов, логирования или быстрого сканирования на предмет неожиданных учетных записей.
Показать только обычных (интерактивных) пользователей
Системные учетные записи обычно имеют UID ниже 1000. Для фильтрации только обычных пользователей объедините awk с проверкой UID:
awk -F: '$3 >= 1000 && $1 != "nobody" {print $1}' /etc/passwdЭто особенно полезно в средах общего хостинга или на серверах с большим количеством служебных учетных записей.
Способ 4: Использование awk для пользовательского выборочного вывода
Команда awk — это мощный инструмент обработки текста, который дает вам полный контроль над тем, какие поля отображать и как их форматировать. Это бесценно, когда вам нужен быстрый обзор учетных записей пользователей для административного или безопасностного аудита.
Отображение имен пользователей и домашних каталогов
getent passwd | awk -F: '{print "Username: " $1 "t Home Directory: " $6}'Пример вывода
Username: root Home Directory: /root
Username: www-data Home Directory: /var/www
Username: alexadmin Home Directory: /home/alexadmin
Username: deploy Home Directory: /home/deployОтображение имен пользователей, UID и оболочек
getent passwd | awk -F: '{print "User: " $1 "t UID: " $3 "t Shell: " $7}'Показать только пользователей с действительной оболочкой входа
getent passwd | awk -F: '$7 == "/bin/bash" || $7 == "/bin/sh" {print $1, $6, $7}'Эта команда особенно полезна для аудита безопасности — она раскрывает каждую учетную запись, которая может фактически открыть интерактивный сеанс оболочки на вашем сервере.
Метод 5: Подсчет общего количества пользователей
Нужен быстрый подсчет всех учетных записей пользователей в системе?
getent passwd | wc -lДля подсчета только реальных пользователей (UID ≥ 1000):
awk -F: '$3 >= 1000' /etc/passwd | wc -lMethod 6: Check Which Users Have Sudo Privileges
Knowing who can escalate privileges is critical for security. Use these commands to identify privileged accounts:
Check the sudo group members
getent group sudoCheck the wheel group (common on CentOS/RHEL)
getent group wheelList all sudoers (requires root)
sudo cat /etc/sudoersOn your VPS with cPanel or any managed control panel environment, some users may have sudo rights granted through panel-specific configuration files in /etc/sudoers.d/.
Способ 7: Просмотр текущих активных пользователей
Чтобы увидеть, кто *активно* вошел на ваш сервер прямо сейчас, используйте команду who или w:
whowКоманда w предоставляет более подробную информацию, включая то, что в данный момент запускает каждый пользователь, время входа и длительность простоя. Это отличный первый шаг при расследовании подозрительной активности на вашем сервере.
Практический рабочий процесс безопасности: аудит пользователей на вашем Linux VPS
Вот рекомендуемый рабочий процесс, который вы можете периодически запускать на любом сервере AlexHost для поддержания чистой и безопасной среды пользователей:
# Step 1: List all human users
awk -F: '$3 >= 1000 && $1 != "nobody" {print $1}' /etc/passwd
# Step 2: Check who has sudo access
getent group sudo wheel
# Step 3: Identify accounts with login shells
getent passwd | awk -F: '$7 ~ /bash|sh/ {print $1, $7}'
# Step 4: See who is currently logged in
w
# Step 5: Review recent login history
last | head -20Регулярный запуск этого аудита — или его автоматизация с помощью cron job — это простой, но эффективный способ обеспечить безопасность вашего сервера. Это особенно важно, если ваш VPS размещает несколько веб-приложений или если вы предоставили SSH доступ разработчикам или подрядчикам.
Управление пользователями: Следующие шаги
После того как вы определили своих пользователей, вам может потребоваться принять меры. Вот наиболее распространённые команды управления пользователями:
| Задача | Команда |
|---|---|
| Добавить нового пользователя | sudo adduser newusername |
| Удалить пользователя | sudo deluser --remove-home username |
| Заблокировать учётную запись | sudo passwd -l username |
| Изменить оболочку пользователя | sudo chsh -s /usr/sbin/nologin username |
| Добавить пользователя в группу sudo | sudo usermod -aG sudo username |
Эти операции полностью поддерживаются в Linux VPS окружениях AlexHost, где у вас есть неограниченный доступ root для управления вашей системой точно так, как вам нужно.
Выбор подходящего хостинга AlexHost для ваших потребностей
Команды и методы в этом руководстве применяются во всех средах Linux-серверов, но правильный план хостинга значительно влияет на производительность и управляемость:
- VPS Hosting — Полный root-доступ, выделенные ресурсы и NVMe хранилище. Идеально для разработчиков и компаний, нуждающихся в полном контроле над своей Linux-средой.
- Dedicated Servers — Максимальная производительность и изоляция для высоконагруженных приложений или рабочих нагрузок, чувствительных к безопасности, требующих строгого контроля доступа пользователей.
- Shared Web Hosting — Управляемая среда для более простых проектов, где управление пользователями на уровне сервера осуществляется командой AlexHost.
- VPS Control Panels — Упростите управление пользователями и сервером с помощью интуитивных графических интерфейсов, таких как cPanel, Plesk или DirectAdmin.
Заключение
Просмотр и аудит учетных записей пользователей на сервере Linux — это не просто рутинная административная задача — это основа хорошей гигиены безопасности. Овладев методами, описанными в этом руководстве, вы получите четкое представление о каждой учетной записи в вашей системе:
/etc/passwdиgetent passwdдают вам полную картинуcutсокращает вывод только до имен пользователейawkпозволяет создавать пользовательские, читаемые отчетыwhoиwпоказывают активные сеансы в реальном времени- Запросы групп выявляют риски повышения привилегий
Независимо от того, являетесь ли вы опытным системным администратором или только начинаете работать с управлением сервером Linux, эти инструменты незаменимы. Объедините их с надежной инфраструктурой AlexHost — с хранилищем на базе NVMe, полным доступом root и защитой от DDoS корпоративного уровня — и у вас будет все необходимое для запуска быстрого, безопасного и хорошо управляемого сервера.
Готовы взять полный контроль над вашей средой Linux? Изучите AlexHost VPS Hosting и начните прямо сейчас.
на всех хостинговых услугах