Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu: Skills Rozpocznij
Sekcja
Administracja Linux

Jak wyświetlić wszystkich dostępnych użytkowników w Linux: Kompletny przewodnik dla administratorów VPS

Zarządzanie kontami użytkowników to jedna z najbardziej fundamentalnych odpowiedzialności każdego administratora systemu Linux. Niezależnie od tego, czy przeprowadzasz audyt uprawnień dostępu, rozwiązujesz problemy z logowaniem, czy wzmacniasz bezpieczeństwo serwera, dokładna wiedza o tym, którzy użytkownicy istnieją w systemie, jest umiejętnością niezbędną. Ten przewodnik przeprowadzi Cię przez każdą praktyczną metodę wyświetlania i inspekcji użytkowników Linux — od czytania surowych plików systemowych po wykorzystanie potężnych narzędzi wiersza poleceń.

Jeśli korzystasz ze środowiska VPS Hosting z AlexHost, te techniki mają bezpośrednie zastosowanie do Twojego serwera Ubuntu, Debian lub CentOS i pomogą Ci utrzymać pełną kontrolę nad tym, kto ma dostęp do Twojej infrastruktury.

Dlaczego przeglądanie użytkowników Linux jest ważne dla bezpieczeństwa serwera

Przed przystąpieniem do poleceń warto zrozumieć *dlaczego* to zadanie jest tak ważne. Na każdym serwerze Linux — zwłaszcza tym hostującym aplikacje internetowe takie jak WordPress, Laravel lub niestandardowe API — wiele kont użytkowników gromadzi się w czasie:

  • Użytkownicy systemowi utworzeni automatycznie przez zainstalowane usługi (np. www-data, mysql, nginx)
  • Użytkownicy administracyjni z uprawnieniami sudo lub na poziomie root
  • Użytkownicy aplikacji powiązani z określonymi stosami oprogramowania
  • Zapomniane lub osierocone konta pozostawione po usunięciu oprogramowania lub zmianach personelu

Regularne audytowanie tych kont pomaga Ci:

  • Wykryć nieautoryzowane lub podejrzane konta
  • Egzekwować zasadę najmniejszych uprawnień
  • Zgodnie z polityką bezpieczeństwa i wymogami audytu
  • Zidentyfikować błędnie skonfigurowane powłoki lub katalogi domowe

Dzięki dostępowi root AlexHost, magazynowaniu wspieranemu przez NVMe i wbudowanej ochronie DDoS, uruchamianie tych poleceń jest szybkie, niezawodne i bezpieczne — nawet na systemach produkcyjnych pod obciążeniem.

Zrozumienie pliku /etc/passwd

Wszystkie informacje o kontach użytkowników w Linux są przechowywane w pliku /etc/passwd. Jest to zwykła baza danych tekstowa, którą system operacyjny odczytuje podczas operacji uwierzytelniania i zarządzania użytkownikami. Każda linia w pliku reprezentuje jedno konto użytkownika i następuje następujący format strukturalny:

username:password:UID:GID:comment:home_directory:shell

Oto co oznacza każde pole:

PoleOpis
usernameNazwa logowania użytkownika
passwordHistorycznie przechowywane tutaj; teraz zastąpione przez x (rzeczywisty hash znajduje się w /etc/shadow)
UIDNumer identyfikacyjny użytkownika (0 = root, 1–999 = użytkownicy systemowi, 1000+ = zwykli użytkownicy)
GIDIdentyfikator grupy głównej
commentOpcjonalny opis lub pełna nazwa (pole GECOS)
home_directoryŚcieżka do folderu domowego użytkownika
shellDomyślna powłoka przypisana użytkownikowi

Typowy wpis wygląda następująco:

alexadmin:x:1001:1001:Alex Admin,,,:/home/alexadmin:/bin/bash

Zrozumienie tej struktury ułatwia interpretację każdej metody poniżej.

Metoda 1: Wyświetl wszystkich użytkowników czytając /etc/passwd bezpośrednio

Najprostszym podejściem jest wydrukowanie całej zawartości /etc/passwd do terminala. Masz dwie główne opcje w zależności od tego, jak chcesz nawigować po wynikach.

Używając cat (najlepsze dla krótkich wyników lub potoków)

cat /etc/passwd

To wyrzuca całą zawartość pliku na standardowe wyjście. Na typowym serwerze zobaczysz dziesiątki wpisów — większość z nich to konta systemowe.

Używając less (najlepsze do interaktywnego przeglądania)

less /etc/passwd

Pager less pozwala na interaktywne przewijanie pliku. Naciśnij q aby wyjść, / aby wyszukać, oraz klawisze strzałek do nawigacji.

Przykładowe wyjście

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

Wskazówka: Konta z /usr/sbin/nologin lub /bin/false jako powłoką nie mogą logować się interaktywnie — są to konta usług używane przez demony systemowe.

Metoda 2: Użyj getent do zapytania bazy danych użytkowników

Polecenie getent (skrót od *get entries*) pobiera rekordy z systemowych baz danych zdefiniowanych w /etc/nsswitch.conf. Jest to preferowana metoda w nowoczesnych środowiskach Linux, ponieważ działa prawidłowo nawet gdy konta użytkowników pochodzą z katalogów zewnętrznych, takich jak LDAP lub NIS — nie tylko z lokalnego pliku /etc/passwd.

getent passwd

Format wyjścia jest identyczny z /etc/passwd, ale getent zapewnia, że zobaczysz *wszystkich* użytkowników niezależnie od tego, gdzie są przechowywani. Na standardowym AlexHost VPS wyjście będzie zgodne z /etc/passwd, ale używanie getent jest uważane za najlepszą praktykę ze względu na przenośność i kompletność.

Filtruj dla konkretnego użytkownika

getent passwd alexadmin

To zwraca tylko rekord dla użytkownika alexadmin — przydatne do szybkiego sprawdzenia, czy konto istnieje i sprawdzenia jego konfiguracji.

Metoda 3: Wyodrębnianie tylko nazw użytkowników za pomocą cut

Gdy potrzebujesz czystej listy nazw użytkowników — bez UID, katalogów domowych ani informacji o powłoce — połącz getent z poleceniem cut, aby wyizolować pierwsze pole.

getent passwd | cut -d: -f1

Jak to działa:

  • getent passwd wyświetla pełną bazę danych użytkowników
  • | cut -d: -f1 przesyła to wyjście do cut, które używa : jako ogranicznika (-d:) i wyodrębnia tylko pierwsze pole (-f1) — nazwę użytkownika

Przykładowe wyjście

root
daemon
bin
sys
www-data
alexadmin
deploy
backup

Ta czysta lista jest idealna do tworzenia skryptów, logowania lub szybkiego skanowania w poszukiwaniu nieoczekiwanych kont.

Wyświetlanie tylko zwykłych użytkowników (Login)

Konta systemowe zwykle mają UID poniżej 1000. Aby filtrować tylko zwykłych użytkowników, połącz awk ze sprawdzeniem UID:

awk -F: '$3 >= 1000 && $1 != "nobody" {print $1}' /etc/passwd

Jest to szczególnie przydatne w środowiskach hostingu współdzielonego lub serwerach z wieloma kontami usług.

Metoda 4: Użyj awk do niestandardowych, selektywnych wyników

Polecenie awk to potężne narzędzie do przetwarzania tekstu, które daje pełną kontrolę nad tym, które pola wyświetlić i jak je formatować. Jest to nieocenione, gdy potrzebujesz szybkiego przeglądu kont użytkowników do celów administracyjnych lub przeglądu bezpieczeństwa.

Wyświetl nazwy użytkowników i katalogi domowe

getent passwd | awk -F: '{print "Username: " $1 "t Home Directory: " $6}'

Przykładowe wyjście

Username: root           Home Directory: /root
Username: www-data       Home Directory: /var/www
Username: alexadmin      Home Directory: /home/alexadmin
Username: deploy         Home Directory: /home/deploy

Wyświetl nazwy użytkowników, UID-y i powłoki

getent passwd | awk -F: '{print "User: " $1 "t UID: " $3 "t Shell: " $7}'

Pokaż tylko użytkowników z prawidłową powłoką logowania

getent passwd | awk -F: '$7 == "/bin/bash" || $7 == "/bin/sh" {print $1, $6, $7}'

To polecenie jest szczególnie przydatne do audytów bezpieczeństwa — ujawnia każde konto, które może faktycznie otworzyć interaktywną sesję powłoki na Twoim serwerze.

Metoda 5: Policz całkowitą liczbę użytkowników

Potrzebujesz szybkiego licznika wszystkich kont użytkowników w systemie?

getent passwd | wc -l

Aby policzyć tylko użytkowników rzeczywistych (UID ≥ 1000):

awk -F: '$3 >= 1000' /etc/passwd | wc -l

Method 6: Check Which Users Have Sudo Privileges

Wiedza o tym, kto może eskalować uprawnienia, jest krytyczna dla bezpieczeństwa. Użyj tych poleceń, aby zidentyfikować konta uprzywilejowane:

Check the sudo group members

getent group sudo

Check the wheel group (common on CentOS/RHEL)

getent group wheel

List all sudoers (requires root)

sudo cat /etc/sudoers

Na Twoim VPS z cPanel lub w dowolnym środowisku zarządzanego panelu sterowania, niektórzy użytkownicy mogą mieć prawa sudo przyznane poprzez pliki konfiguracyjne specyficzne dla panelu w /etc/sudoers.d/.

Metoda 7: Wyświetlanie aktualnie zalogowanych użytkowników

Aby zobaczyć, kto jest *aktywnie* zalogowany na Twoim serwerze teraz, użyj polecenia who lub w:

who
w

Polecenie w zawiera więcej szczegółów, w tym to, co każdy użytkownik aktualnie uruchamia, czas logowania i czas bezczynności. To doskonały pierwszy krok podczas badania podejrzanej aktywności na Twoim serwerze.

Praktyczny przepływ pracy bezpieczeństwa: Audyt użytkowników na Twoim Linux VPS

Oto zalecany przepływ pracy, który możesz uruchamiać okresowo na dowolnym serwerze AlexHost, aby utrzymać czystą i bezpieczną środowisko użytkowników:

# 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

Uruchamianie tego audytu regularnie — lub automatyzowanie go za pomocą zadania cron — to prosty, ale skuteczny sposób na utrzymanie bezpieczeństwa serwera. Jest to szczególnie ważne, jeśli Twój VPS hostuje wiele aplikacji internetowych lub jeśli udzieliłeś dostępu SSH programistom lub wykonawcom.

Zarządzanie użytkownikami poza przeglądaniem: Następne kroki

Po zidentyfikowaniu użytkowników może być konieczne podjęcie działań. Oto najczęstsze polecenia zarządzania użytkownikami:

ZadaniePolecenie
Dodaj nowego użytkownikasudo adduser newusername
Usuń użytkownikasudo deluser --remove-home username
Zablokuj kontosudo passwd -l username
Zmień powłokę użytkownikasudo chsh -s /usr/sbin/nologin username
Dodaj użytkownika do grupy sudosudo usermod -aG sudo username

Te operacje są w pełni obsługiwane w środowiskach Linux VPS AlexHost, gdzie masz nieograniczony dostęp root do zarządzania systemem dokładnie tak, jak potrzebujesz.

Wybór odpowiedniego hostingu AlexHost dla Twoich potrzeb

Polecenia i techniki zawarte w tym przewodniku mają zastosowanie we wszystkich środowiskach serwerów Linux, ale odpowiedni plan hostingu ma znaczący wpływ na wydajność i zarządzalność:

  • VPS Hosting — Pełny dostęp root, dedykowane zasoby i magazyn NVMe. Idealny dla programistów i firm wymagających pełnej kontroli nad swoim środowiskiem Linux.
  • Serwery dedykowane — Maksymalna wydajność i izolacja dla aplikacji o dużym ruchu lub obciążeń wrażliwych na bezpieczeństwo wymagających ścisłej kontroli dostępu użytkowników.
  • Hosting współdzielony — Zarządzane środowisko dla prostszych projektów, gdzie zarządzanie użytkownikami na poziomie serwera obsługuje zespół AlexHost.
  • Panele kontrolne VPS — Uprość zarządzanie użytkownikami i serwerem za pomocą intuicyjnych interfejsów graficznych, takich jak cPanel, Plesk lub DirectAdmin.

Podsumowanie

Przeglądanie i audyt kont użytkowników na serwerze Linux to nie tylko rutynowe zadanie administracyjne — to podstawa dobrej higieny bezpieczeństwa. Opanowując metody omówione w tym przewodniku, zyskujesz wyraźną widoczność każdego konta w systemie:

  • /etc/passwd i getent passwd dają ci pełny obraz
  • cut ogranicza wynik do samych nazw użytkowników
  • awk pozwala ci budować niestandardowe, czytelne raporty
  • who i w ujawniają aktywne sesje w czasie rzeczywistym
  • Zapytania grupowe ujawniają ryzyka eskalacji uprawnień

Niezależnie od tego, czy jesteś doświadczonym administratorem systemu, czy dopiero zaczynasz pracę z zarządzaniem serwerem Linux, te narzędzia są niezbędne. Połącz je z solidną infrastrukturą AlexHost — wyposażoną w magazyn wspierany przez NVMe, pełny dostęp root i ochronę DDoS klasy korporacyjnej — a będziesz mieć wszystko, czego potrzebujesz, aby uruchomić szybki, bezpieczny i dobrze administrowany serwer.

Gotowy do pełnej kontroli nad swoim środowiskiem Linux? Odkryj AlexHost VPS Hosting i zacznij dzisiaj.