Как да видите всички налични потребители в 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/passwdless пейджърът ви позволява да прелистате файла интерактивно. Натиснете 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 като техния shell не могат да влязат интерактивно — те са служебни акаунти, използвани от системни демони.
Метод 2: Използвайте getent за запитване на базата данни на потребителите
Командата getent (съкращение за *get entries*) извлича записи от системни бази данни, определени в /etc/nsswitch.conf. Това е предпочитаният метод в съвременните Linux среди, защото работи правилно дори когато потребителските акаунти се получават от външни директории като LDAP или NIS — не само от локалния файл /etc/passwd.
getent passwdФорматът на изхода е идентичен на /etc/passwd, но getent гарантира, че виждате *всички* потребители, независимо откъде се съхраняват. На стандартен AlexHost VPS изходът ще съответства на /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 |
| Промяна на shell на потребител | 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 и започнете днес.
от всички хостинг услуги