Як переглянути всіх доступних користувачів у Linux: повний посібник для адміністраторів VPS
Управління обліковими записами користувачів є однією з найфундаментальніших відповідальностей будь-якого адміністратора системи Linux. Незалежно від того, чи ви проводите аудит дозволів доступу, усуваєте проблеми з входом або посилюєте безпеку вашого сервера, знання того, які користувачі існують у вашій системі, є важливою навичкою. Цей посібник проведе вас через кожен практичний метод для перелічення та перевірки користувачів Linux — від читання необроблених системних файлів до використання потужних утиліт командного рядка.
Якщо ви запускаєте середовище VPS Hosting з AlexHost, ці методи застосовуються безпосередньо до вашого сервера Ubuntu, Debian або CentOS і допоможуть вам зберегти повний контроль над тим, хто має доступ до вашої інфраструктури.
Чому перегляд користувачів Linux важливий для безпеки сервера
Перш ніж переходити до команд, варто зрозуміти *чому* це завдання настільки важливе. На будь-якому Linux сервері — особливо на тому, що розміщує веб-додатки як WordPress, Laravel або користувацькі API — з часом накопичується кілька облікових записів користувачів:
- Системні користувачі створені автоматично встановленими сервісами (наприклад,
www-data,mysql,nginx) - Адміністративні користувачі з
sudoабо привілеями рівня root - Користувачі додатків пов’язані з конкретними програмними стеками
- Забуті або сирітські облікові записи залишені після видалення програмного забезпечення або змін персоналу
Регулярний аудит цих облікових записів допомагає вам:
- Виявити несанкціоновані або підозрілі облікові записи
- Застосовувати принцип найменших привілеїв
- Дотримуватися політик безпеки та вимог аудиту
- Визначити неправильно налаштовані оболонки або домашні каталоги
З 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
Знання про те, хто може підвищити привілеї, критично важливо для безпеки. Використовуйте ці команди для визначення привілейованих облікових записів:
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/sudoersНа вашому VPS з cPanel або будь-якому середовищі керованої контрольної панелі деякі користувачі можуть мати права sudo, надані через файли конфігурації, специфічні для панелі, в /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 — це простий, але ефективний спосіб зберегти ваш сервер в безпеці. Це особливо важливо, якщо ваш 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 та почніть сьогодні.
на всіх хостингових послугах