Administracja systemem Podstawowy+ 40 min

Sudo i praca administratora: sudo, su, root i dobre praktyki

Poznasz różnice między sudo, su i kontem root oraz nauczysz się wykonywać zadania administracyjne z możliwie najmniejszym zakresem uprawnień.

Wróć do listy lekcji

1. Krótka teoria

Konto root ma pełne uprawnienia w systemie, dlatego błąd wykonany jako root może zmienić lub usunąć ważne dane. W codziennej pracy bezpieczniej korzystać ze zwykłego konta i podnosić uprawnienia tylko dla konkretnego polecenia przez sudo. Dostęp do sudo wynika z konfiguracji systemu; w Rocky Linux 9 często otrzymują go członkowie grupy wheel. Komenda sudo -l pokazuje, jakie polecenia użytkownik może uruchamiać. sudo polecenie wykonuje pojedynczą operację z podwyższonymi uprawnieniami, a sudo -i otwiera powłokę administracyjną i powinno być używane tylko wtedy, gdy jest naprawdę potrzebne. su - użytkownik przełącza konto i uruchamia jego środowisko logowania; su - zwykle oznacza próbę przejścia na konto root. Po zakończeniu pracy uprzywilejowanej należy użyć exit. Dobra praktyka to sprawdzanie polecenia przed uruchomieniem, unikanie długiej pracy jako root, niekopiowanie nieznanych komend z internetu oraz niewprowadzanie zmian, których skutków się nie rozumie.

2. Przykłady komend

sudo -l

Pokazuje polecenia, które aktualny użytkownik może uruchamiać przez sudo.

$ sudo -l
sudo whoami

Uruchamia pojedyncze polecenie z podwyższonymi uprawnieniami.

$ sudo whoami
root
sudo cat /etc/ssh/sshd_config

Odczytuje chroniony plik bez otwierania stałej sesji root.

$ sudo cat /etc/ssh/sshd_config
sudo -i

Otwiera powłokę logowania root, gdy seria zadań tego wymaga.

$ sudo -i
# whoami
root
su - anna

Przełącza się na konto anna wraz z jego środowiskiem logowania.

$ su - anna
exit

Kończy bieżącą powłokę i wraca do poprzedniego użytkownika.

# exit
$
id

Pomaga sprawdzić aktualny UID, GID i przynależność do grup.

$ id

3. Zadanie praktyczne

W środowisku laboratoryjnym wykonaj whoami i id, a następnie sudo -l, aby sprawdzić swój zakres uprawnień. Jeśli konto ma dostęp do sudo, uruchom sudo whoami i porównaj wynik ze zwykłym whoami. Odczytaj chroniony plik poleceniem sudo cat /etc/ssh/sshd_config, nie modyfikując go. Na końcu wyjaśnij, dlaczego pojedyncze użycie sudo jest bezpieczniejsze niż pozostawanie w powłoce root.

4. Typowe błędy

  • Wykonywanie całej codziennej pracy jako root zamiast używania sudo do pojedynczych poleceń.
  • Uruchamianie skopiowanych komend przez sudo bez sprawdzenia ich działania.
  • Mylenie hasła własnego konta używanego przez sudo z hasłem konta docelowego używanym przez su.
  • Zakładanie, że każdy użytkownik automatycznie może korzystać z sudo.
  • Używanie sudo -i do zadania, które wymaga tylko jednego polecenia.
  • Brak sprawdzenia aktualnego użytkownika przed wykonaniem ryzykownej operacji.
  • Pozostawianie otwartej powłoki root po zakończeniu zadania.

5. Podsumowanie

root ma pełną kontrolę nad systemem, dlatego uprawnienia administracyjne należy stosować oszczędnie. sudo najlepiej nadaje się do uruchamiania pojedynczych poleceń, sudo -l pokazuje dostępny zakres uprawnień, a su - przełącza konto i środowisko logowania. Powłoka root powinna być krótkotrwała, świadomie używana i zamykana przez exit.

Flow nauki
  1. Teoria
  2. Przykład
  3. Ćwiczenie
  4. Quiz
  5. Praktyka
  6. Podsumowanie