KWALIFIKACJA INF2 - CZERWIEC 2023

PYTANIE NR 16.
Listę wszystkich założonych kont użytkowników w systemie Linux można wyświetlić poleceniem
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Polecenie cat /etc/passwd wyświetla zawartość pliku /etc/passwd, w którym znajdują się wpisy o kontach użytkowników skonfigurowanych lokalnie (m.in. nazwa, UID, katalog domowy, powłoka). Pozostałe polecenia pokazują bieżące sesje lub dane o wskazanym użytkowniku, a nie pełną listę kont.

Pełne wyjaśnienie:

W systemach Linux podstawowa lista kont lokalnych jest zapisana w pliku /etc/passwd. Dlatego polecenie cat /etc/passwd wyświetla wszystkie wpisy z tej bazy, czyli "listę kont" w rozumieniu rekordów użytkowników przechowywanych lokalnie. W pliku znajdują się m.in. nazwa konta, identyfikator UID, identyfikator grupy GID, opis, katalog domowy i przypisana powłoka.

Warto pamiętać, że w typowej instalacji oprócz kont osób spotkasz też konta systemowe i usługowe (np. dla demonów). To nadal są wpisy w bazie kont i dlatego pojawiają się w /etc/passwd. Z punktu widzenia egzaminu istotne jest rozróżnienie: polecenie ma pokazać kont(a), a nie aktualnie zalogowanych użytkowników.

  • who -HT dotyczy informacji o bieżących sesjach i zalogowanych użytkownikach (kto jest zalogowany i na jakim terminalu). Nie jest to lista wszystkich kont istniejących w systemie.
  • id -u zwraca identyfikator UID (zwykle dla bieżącego użytkownika lub wskazanego), czyli pojedynczą informację liczbową, a nie zestawienie wszystkich kont.
  • finger (bez parametrów) wyświetla informacje o użytkownikach, ale jego działanie i dostępność zależą od zainstalowanego pakietu i konfiguracji; nie jest to standardowa metoda na wypisanie całej bazy kont.

Dodatkowa wskazówka praktyczna: w części dystrybucji i środowisk (np. przy integracji z LDAP/AD) konta mogą pochodzić także spoza /etc/passwd, przez mechanizm NSS. Wtedy do kompletnej listy "użytkowników widzianych przez system" często używa się narzędzi typu getent. Jednak w kontekście klasycznego pytania egzaminacyjnego poprawnym wskazaniem pozostaje odczyt /etc/passwd.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
To tekstowa baza podstawowych informacji o kontach użytkowników w systemie lokalnym. Zawiera m.in. nazwę konta, UID, GID, katalog domowy i powłokę. Nie przechowuje haseł w postaci jawnej (te zwykle są w /etc/shadow).
Najprościej odczytać bazę lokalnych kont poleceniem cat /etc/passwd. Otrzymasz listę wpisów (także kont systemowych). W środowiskach z NSS/LDAP pełniejszą listę może dawać getent passwd.
Wiele usług działa na osobnych kontach o ograniczonych uprawnieniach, co zwiększa bezpieczeństwo. Takie konta mają często nietypową powłokę (np. brak logowania) i służą do uruchamiania demonów, a nie do pracy interaktywnej.
Nie. who pokazuje tylko użytkowników aktualnie zalogowanych oraz informacje o ich sesjach (terminal, czas logowania). To narzędzie do monitorowania bieżącej aktywności, a nie do wypisania bazy kont.
id -u zwraca pojedynczą wartość liczbową: UID (identyfikator użytkownika) dla bieżącego użytkownika lub wskazanego loginu. Nie jest to lista wszystkich użytkowników, tylko informacja identyfikacyjna dla jednego konta.
Niekoniecznie. finger może nie być zainstalowany domyślnie, a zakres informacji zależy od konfiguracji systemu. Dlatego nie jest to najbardziej typowa i pewna metoda do wypisania wszystkich kont użytkowników.
Często pomaga analiza UID i powłoki: konta systemowe zwykle mają niskie UID oraz powłokę uniemożliwiającą logowanie. Dokładne progi UID zależą od dystrybucji, więc na egzaminie skup się na funkcji wpisu, nie na jednej liczbie.
Wpis jest podzielony na pola oddzielone dwukropkami. Zawiera m.in. login, UID, GID, opis (GECOS), katalog domowy i powłokę. Dzięki temu administrator może szybko sprawdzić konfigurację kont bez narzędzi graficznych.
W nowoczesnych systemach hasła (a dokładniej ich skróty) są zwykle w pliku /etc/shadow, do którego dostęp ma tylko administrator. /etc/passwd jest czytelny dla użytkowników, więc nie trzyma się tam wrażliwych danych.
Ćwicz na konsoli: przeglądanie /etc/passwd i /etc/group, rozumienie pól UID/GID, różnicę między "konto istnieje" a "kto jest zalogowany". Zapamiętaj też typowe polecenia: cat, id, who, getent.
info

To pytanie poprawnie rozwiązuje 74% zdających egzamin. średnio łatwe

Eksperci podkreślają: "Polecenie cat /etc/passwd wyświetla zawartość pliku /etc/passwd, w którym znajdują się wpisy o kontach użytkowników skonfigurowanych lokalnie (m.in. nazwa, UID, katalog domowy, powłoka)."

Źródła:

  • man7.org Linux manual: passwd(5) — opis pliku /etc/passwd, https://man7.org/linux/man-pages/man5/passwd.5.html (dostęp: 2026-02-27)
  • man7.org Linux manual: cat(1) — wyświetlanie zawartości plików, https://man7.org/linux/man-pages/man1/cat.1.html (dostęp: 2026-02-27)
  • man7.org Linux manual: who(1) — informacja o zalogowanych użytkownikach, https://man7.org/linux/man-pages/man1/who.1.html (dostęp: 2026-02-27)

Materiały:

  • Strony podręcznika systemowego: passwd(5), cat(1), who(1), id(1)
  • Materiały o NSS i poleceniu getent (getent(1))
  • Podstawy administracji Linux: użytkownicy, grupy, pliki /etc/passwd i /etc/shadow

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego