sudo służy do uruchamiania pojedynczych poleceń z uprawnieniami innego użytkownika, zwykle root
. Działa na podstawie reguł zapisanych w pliku konfiguracyjnym /etc/sudoers
, które określają, kto może uruchamiać jakie polecenia i na czyim koncie.
Zastosowania: administracja systemem, instalowanie oprogramowania, zmiana konfiguracji systemowej, wykonywanie operacji wymagających wyższych uprawnień.
Dostępność: wszystkie dystrybucje Linux, systemy Unix, macOS (z wbudowanym sudo).
sudo [opcje] polecenie [ argumenty ]
Warianty wywołania: pojedyncze polecenie, sekwencja poleceń z łącznikiem &&
lub ;
, uruchamianie powłoki z uprawnieniami innego użytkownika.
Najczęstsze opcje: -u
, -i
, -s
, -k
, -l
.
Parametr Opis polecenie [argumenty]
Polecenie do wykonania z podwyższonymi uprawnieniami. -u użytkownik
Wskazuje konto użytkownika, jako które zostanie uruchomione polecenie (domyślnie root
). -i
Uruchamia powłokę logowania jako docelowy użytkownik. -s
Uruchamia interaktywną powłokę bez pełnego logowania. -k
Unieważnia zapamiętane uwierzytelnienie, wymuszając ponowne podanie hasła. -l
Wyświetla listę dozwolonych (lub zabronionych) poleceń dla bieżącego użytkownika. -v
Odświeża czas ważności uwierzytelnienia, nie uruchamiając polecenia.
# Uruchomienie polecenia z uprawnieniami administratora
# Wykonanie polecenia jako inny użytkownik
# Uruchomienie powłoki logowania jako root
Plik /etc/sudoers
powinien być edytowany wyłącznie za pomocą visudo
, aby uniknąć błędów składniowych.
Czas ważności uwierzytelnienia zależy od konfiguracji (domyślnie ok. 5 minut bezczynności).
Zbyt szerokie reguły w sudoers mogą stanowić ryzyko bezpieczeństwa.
Na macOS sudo jest wbudowane i działa podobnie, ale integruje się z mechanizmami systemowymi.
Błąd / Komunikat Przyczyna Rozwiązanie user is not in the sudoers file
Brak odpowiedniego wpisu w /etc/sudoers
. Dodaj użytkownika do grupy sudo/admin lub zmodyfikuj sudoers przez visudo
jako root. Sorry, try again.
Niepoprawne hasło. Upewnij się, że podajesz hasło swojego konta, a nie docelowego użytkownika. sudo: command not found
Brak zainstalowanego pakietu sudo. Zainstaluj pakiet sudo (np. apt install sudo
). permission denied
mimo sudoKomenda jest blokowana przez sudoers lub SELinux/AppArmor. Sprawdź konfigurację sudoers oraz reguły bezpieczeństwa systemu.