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 przypadkuzsh
).-g developers
– ustawia podstawową grupę użytkownika (developers
).-G sudo,adm
– dodaje użytkownika do dodatkowych grup (sudo
iadm
).-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!