Zarządzanie użytkownikami i grupami w systemie Linux

Zaawansowane Zarządzanie Użytkownikami i Grupami w Linux

Wprowadzenie

W systemie Linux zarządzanie użytkownikami i grupami jest kluczowym elementem administracji systemowej. Umożliwia to kontrolowanie dostępu do zasobów, organizację użytkowników w grupy oraz egzekwowanie polityk bezpieczeństwa. W poprzedniej lekcji omówiliśmy podstawowe narzędzia do zarządzania procesami (ps, kill, uname, du) oraz podstawowe mechanizmy tworzenia użytkowników i grup.

Teraz przejdziemy do bardziej zaawansowanych aspektów zarządzania użytkownikami i grupami. W tej lekcji:

  • Nauczymy się szczegółowo używać poleceń takich jak useradd, usermod, userdel, adduser, addgroup, groups, newgrp, groupadd, groupdel.
  • Poznamy ich zaawansowane opcje, umożliwiające precyzyjne konfigurowanie kont użytkowników i grup.
  • Przećwiczymy zarządzanie katalogami domowymi, grupami podstawowymi i dodatkowymi oraz politykami wygasania kont.

1. Tworzenie użytkowników – useradd i adduser

Tworzenie nowych kont użytkowników w Linux można przeprowadzić za pomocą dwóch głównych narzędzi:

  • useradd – podstawowe narzędzie niskopoziomowe, wymagające podania szczegółowych parametrów.
  • adduser – bardziej interaktywne narzędzie, które automatycznie prowadzi administratora przez proces tworzenia użytkownika.

1.1 Tworzenie użytkownika z niestandardową konfiguracją

Przykład: Tworzymy użytkownika devadmin, przypisując mu katalog domowy, specjalną powłokę oraz ustawiając dodatkowe grupy.

sudo useradd -m -d /home/devadmin -s /bin/zsh -g developers -G sudo,adm -c "Administrator zespołu dev" devadmin

🔍 Co robią poszczególne opcje?

  • -m – tworzy katalog domowy, jeśli go nie ma.
  • -d /home/devadmin – wskazuje katalog domowy użytkownika.
  • -s /bin/zsh – ustawia powłokę użytkownika (w tym przypadku zsh).
  • -g developers – ustawia podstawową grupę użytkownika (developers).
  • -G sudo,adm – dodaje użytkownika do dodatkowych grup (sudo i adm).
  • -c "Administrator zespołu dev" – dodaje opis użytkownika.

Po utworzeniu użytkownika, należy ustawić dla niego hasło:

sudo passwd devadmin

Ćwiczenie 1:
Utwórz użytkownika tester, przypisz mu katalog domowy /home/testerdata, powłokę /bin/sh, grupę podstawową testers oraz dodatkowe grupy users i debuggers.


2. Modyfikowanie użytkowników – usermod

Kiedy użytkownik już istnieje, można zmieniać jego ustawienia za pomocą usermod.

2.1 Zmiana katalogu domowego z przeniesieniem danych

Przykład: Zmieniamy katalog domowy użytkownika devadmin z /home/devadmin na /srv/devadmin.

sudo usermod -d /srv/devadmin -m devadmin

🔍 Opcje:

  • -d /srv/devadmin – ustawia nowy katalog domowy.
  • -m – przenosi pliki ze starego katalogu do nowego.

2.2 Zmiana nazwy użytkownika

Przykład: Zmieniamy nazwę użytkownika devadmin na sysadmin.

sudo usermod -l sysadmin devadmin

Po zmianie warto również zmienić katalog domowy:

sudo mv /home/devadmin /home/sysadmin
sudo usermod -d /home/sysadmin sysadmin

Ćwiczenie 2:
Zmień nazwę użytkownika tester na qa_user oraz jego katalog domowy na /home/qa_user, przenosząc tam wszystkie dane.


3. Usuwanie użytkowników – userdel

Jeśli konto użytkownika jest już niepotrzebne, można je usunąć.

3.1 Usunięcie użytkownika wraz z jego katalogiem domowym

sudo userdel -r sysadmin

🔍 Opcje:

  • -r – usuwa także katalog domowy użytkownika.

Ćwiczenie 3:
Usuń użytkownika qa_user, jednocześnie usuwając jego katalog domowy.


4. Zarządzanie grupami

4.1 Tworzenie grup – groupadd

Przykład: Tworzymy grupę developers z określonym GID (2001).

sudo groupadd -g 2001 developers

Ćwiczenie 4:
Utwórz grupę qa_team z GID 2100.

4.2 Dodawanie użytkownika do grupy – usermod -G

Przykład: Dodajemy użytkownika john do grupy developers.

sudo usermod -aG developers john

🔍 Opcje:

  • -aG – dodaje użytkownika do grupy (zachowując inne przynależności).

Ćwiczenie 5:
Dodaj użytkownika alice do grup qa_team i users.


5. Zmiana grupy podstawowej i aktywnej

Każdy użytkownik ma jedną grupę podstawową oraz może należeć do wielu grup dodatkowych.

5.1 Zmiana grupy podstawowej użytkownika

Przykład: Ustawiamy developers jako grupę podstawową użytkownika john.

sudo usermod -g developers john

5.2 Przełączanie grupy aktywnej użytkownika

Użytkownik może tymczasowo zmienić aktywną grupę za pomocą newgrp.

newgrp developers

Ćwiczenie 6:
Zmień podstawową grupę użytkownika alice na qa_team, a następnie przełącz na nią aktywnie.


6. Usuwanie grup – groupdel

Grupę można usunąć, jeśli nie ma w niej użytkowników.

sudo groupdel developers

Ćwiczenie 7:
Usuń grupę qa_team.


7. Automatyczne wygasanie kont

7.1 Ustawienie daty wygaśnięcia konta

Przykład: Ustawiamy, aby konto john wygasło 31 grudnia 2025 roku.

sudo usermod -e 2025-12-31 john

Ćwiczenie 8:
Ustaw konto alice tak, aby wygasło 1 czerwca 2026 roku.


Podsumowanie

W tej lekcji:
✅ Tworzyliśmy użytkowników i grupy.
✅ Modyfikowaliśmy konta użytkowników.
✅ Usuwaliśmy użytkowników i grupy.
✅ Przypisywaliśmy użytkowników do grup.
✅ Zarządzaliśmy aktywną grupą i wygasaniem kont.

Wykorzystaj zdobytą wiedzę, wykonując ćwiczenia i testując różne scenariusze administracyjne!