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 lekcji1. 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
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 -ido 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.