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 (sudoiadm).-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!