Wyobraź sobie Linuksa jako tętniącą życiem metropolię. Każdy mieszkaniec (czyli użytkownik) ma własne „klucze” do określonych budynków i zasobów – plików, katalogów, usług. Te klucze nie są rozdawane przypadkowo. Użytkownicy są zorganizowani w grupy przypominające sąsiedztwa, w których mają wspólne zainteresowania i prawa dostępu. Podobnie Linuks dba o uprawnienia, właścicieli i grupy, dzięki czemu wszystko jest poukładane, przewidywalne i bezpieczne.
Jeśli chcesz sprawnie administrować systemem, konfigurować dostęp w firmie albo po prostu lepiej rozumieć Linuksa – użytkownicy i grupy to fundament.
Kim jest użytkownik w Linuxie
W kontekście Linuksa użytkownik to osoba lub proces, któremu system przyznaje dostęp do zasobów. Każde konto ma:
- nazwę użytkownika (login),
- UID (User ID) – unikalny identyfikator liczbowy,
- przypisaną grupę główną (GID) oraz często grupy dodatkowe,
- ustawienia takie jak katalog domowy i powłoka logowania (shell).
To właśnie UID/GID są kluczowe dla systemu uprawnień (właściciel pliku, grupa pliku, prawa dostępu). Każdy użytkownik ma swój własny zestaw przywilejów.
Typy użytkowników: standard i root
Najczęściej spotkasz dwa główne typy kont:
- Użytkownik standardowy (standard user) – Ma ograniczone uprawnienia. Zwykle może modyfikować tylko pliki i katalogi, których jest właścicielem (lub do których ma uprawnienia). W wielu dystrybucjach konta „zwykłych” użytkowników mają UID od 1000 wzwyż (może się różnić w zależności od systemu).
- Użytkownik administracyjny (root) -To konto z pełnymi uprawnieniami do systemu. Może czytać i modyfikować wszystko, uruchamiać dowolne procesy i zmieniać konfigurację. UID roota zawsze wynosi 0.
Jak rozpoznać, czy jesteś rootem
Najprościej po znaku zachęty w terminalu:
$– zwykle oznacza użytkownika standardowego#– zwykle oznacza roota
Tworzenie użytkowników
Linux daje kilka sposobów tworzenia kont. W praktyce najczęściej używa się poleceń, bo są szybsze, powtarzalne i mniej podatne na błędy.
useradd
useradd to jedno z najpopularniejszych narzędzi do tworzenia użytkowników. Jest bardzo elastyczne, bo ma dużo przełączników (UID, grupy, katalog domowy, shell itd.). Minusem jest to, że bez przełączników może utworzyć konto „minimalne” – zależnie od dystrybucji i konfiguracji.

Po utworzeniu użytkownika warto ustawić hasło:
passwd nazwa_użytkownika
Najczęściej używane przełączniki useradd
--badname– pomija część walidacji nazwy użytkownika--home-dir– ustawia katalog domowy--create-home– tworzy katalog domowy w domyślnej lokalizacji--password– ustawia hasło (uwaga: może być widoczne w historii/podglądzie)--shell– ustawia powłokę logowania
adduser
adduser jest zwykle „bardziej ludzki” i interaktywny: prowadzi przez proces tworzenia konta, zadając pytania (hasło, dane, ścieżki). Bardzo wygodny dla początkujących.

W dystrybucjach opartych o Debiana często jest dostępny domyślnie. W systemach z rodziny Red Hat może wymagać doinstalowania.
Konfigurację domyślnych wartości dla nowych kont często znajdziesz w:
/etc/adduser.conf
Wystarczy odkomentować daną linię i wpisać inną wartość. Przykładowo w linii z wartością DHOME możemy wpisać inny katalog domowy dla nowych użytkowników.

Ręcznie w /etc/passwd
Ostatnim sposobem jest zwyczajne dodanie użytkownika w pliku. Jak wiadomo w Linuxie wszystko znajduje się w plikach co za tym idzie znajdują się tam również użytkownicy. Informacje na temat użytkowników znajdują się w pliku /etc/passwd. Nie jest to jednak rekomendowany sposób, ponieważ trzeba wówczas utworzyć osobno grupę, hasło, oraz katalog domowy dla danego użytkownika.
Informacje o kontach zapisane są w pliku: /etc/passwd

Każdy użytkownik to jedna linia z polami oddzielonymi dwukropkami:
- nazwa użytkownika
- pole hasła (często
x– a właściwy hash jest w/etc/shadow) - UID
- GID
- opis (np. imię/nazwisko)
- katalog domowy
- shell
Plik ten współdziała z plikiem /etc/shadow, w którym znajdują się zaszyfrowane hasła użytkowników. Znajdują się tam również informacje związane z hasłem takie jak data ostatniej zmiany oraz data wygaśnięcia konta
Usuwanie i modyfikacja użytkowników
Owszem, da się edytować pliki ręcznie aby usunąć użytkownika, ale w praktyce używa się poleceń, bo są bezpieczniejsze i robią „całą robotę” poprawnie.
userdel
userdel usuwa użytkownika po nazwie. Domyślnie często usuwa konto, ale może zostawić katalog domowy.
-r– usuwa też katalog domowy i pliki użytkownika-f– wymusza usunięcie (np. nawet gdy użytkownik jest zalogowany)

usermod
usermod służy do zmiany parametrów istniejącego konta: katalogu domowego, grupy, daty wygaśnięcia itd.

Najczęściej używane przełączniki:
-c– zmienia komentarz/opis użytkownika-d– zmienia katalog domowy-e– ustawia datę wygaśnięcia konta-g– zmienia grupę główną-L– blokuje konto-U– odblokowuje konto
💡 Alternatywnie można „odciąć” logowanie do powłoki ustawiając shell na /sbin/nologin (np. dla kont technicznych).
chage
Modyfikacji danych użytkownika możemy również dokonać za pomocą polecenia chage wykorzystując liczne przełączniki. Można też użyć samego poleceni chage i zmienić wszystkie wartości.

Domyślna struktura katalogów dla użytkownika
Katalog /etc/skel działa jak szablon (szkielet). To, co w nim umieścisz, zostanie skopiowane do katalogu domowego przy tworzeniu nowego użytkownika. Świetne do przygotowania:
- domyślnych plików konfiguracyjnych,
- katalogów startowych,
- skrótów/dowiązań symbolicznych.

Przykładowo możemy utworzyć w katalogu /home katalog wspolny do którego mają mieć dostęp wszyscy nowo tworzeni użytkownicy. Możemy wówczas utworzyć dowiązanie symboliczne do katalogu /home/wspolny w katalogu /etc/skel pod nazwą “KatalogWspolny”. Należy również utworzyć grupę wspolny i dodawać do niej użytkowników, którzy mają mieć dostęp do tego katalogu.
groupadd wspolny
mkdir -p /home/wspolny
chown root:wspolny /home/wspolny
chmod g+s /home/wspolny
setgid: nowe pliki dziedziczą grupę "wspolny"
ln -s /home/wspolny /etc/skel/KatalogWspolny
Sudo – jak dać użytkownikowi uprawnienia admina
Domyślnie nowo utworzeni użytkownicy zwykle nie mają prawa do sudo. A sudo pozwala wykonywać polecenia administracyjne bez logowania na roota.
Jeśli nie masz sudo (np. na świeżej instalacji):
apt install sudo(Debian/Ubuntu)
Uprawnienia sudo konfiguruje się w:
/etc/sudoers(zwykle edytowane przez visudo, aby uniknąć błędów składni)

✅ Dobra praktyka: stosuj zasadę najmniejszych uprawnień — dawaj tylko tyle, ile jest potrzebne do pracy.
Tworzenie i zarządzanie grupami
Grupy umożliwiają organizowanie użytkowników o podobnych potrzebach, ułatwiając efektywne zarządzanie uprawnieniami i współdzieleniem zasobów. Na przykład wszyscy użytkownicy działu IT mogą należeć do grupy nazwanej IT. Zamiast zarządzać uprawnieniami dla każdego użytkownika, administratorzy mogą przydzielać uprawnienia na poziomie grupy, upraszczając proces zarządzania i zapewniając spójność w całym systemie.
Takie podejście nie tylko oszczędza dużo czasu, ale także zwiększa bezpieczeństwo systemu, zmniejszając prawdopodobieństwo błędnej konfiguracji uprawnień. Każda grupa ma swój identyfikator (GID), który odróżnia ją od innej w systemie.
Każda grupa ma:
- nazwę,
- GID (Group ID),
- listę członków.
Do tworzenia i usuwania grup możesz użyć poleceń:
addgroup – tworzenie grupy
delgroup – usuwanie grupy
Aby dodać lub usunąć użytkownika z grup możesz użyć poleceń:
adduser użytkownik grupa
deluser użytkownik grupa
Do zmiany nazwy grupy służy polecenie:
groupmod -n informatycyHD informatycy
Zmiany tej możemy również dokonać w pliku /etc/group. W pliku tym znajdziemy wszystkie grupy. Na jedną grupę użytkowników przypada jedna linia zawierająca cztery, oddzielone dwukropkami pola:
- Nazwa grupy
- Hasło w postaci zakodowanej
- Numeryczny identyfikator grupy (GID)
- Członkowie grupy
