Porady Admina: sudo
Ostatnia aktualizacja: 14 października 2025, 19:44
W kolejnym tutorialu z cyklu Porady Admina zajmiemy się poleceniem sudo.
Sudo jest programem zaprojektowanym, aby umożliwić administratorowi systemu nadanie ograniczonych uprawnień roota użytkownikom i monitorowanie aktywności super użytkownika. Podstawową filozofią jest nadanie jak najmniejszej liczby przywilejów pozwalających ludziom wykonać ich pracę.
Składnia
sudo -V | -h | -l | -v | -k | -K | -s | [ -H ] [-P ] [-S ] [ -b ] | [ -p prompt ] [ -c class|- ] [ -a auth_type ] [-r role ] [-t type ] [ -u username|#uid ] polecenie
Opcje
-A, –askpass : użycie programu pomocniczego do pytań o hasło
-b, –background : uruchomienie polecenia w tle
-B, –bell : dzwonek przy zapytaniu
-C, –close-from=num : zamknięcie wszystkich deskryptorów >= fd
-D, –chdir=directory : zmiana katalogu roboczego przed uruchomieniem polecenia
-E, –preserve-env : zachowanie środowiska użytkownika przy uruchamianiu polecenia
–preserve-env=list : zachowanie określonych zmiennych środowiskowych
-e, –edit : modyfikowanie plików zamiast uruchomienia polecenia
-g, –group=group : wywołanie polecenia jako określona grupa lub ID
-H, –set-home : ustawienie zmiennej HOME na katalog domowy użytkownika docelowego
-h, –help : wyświetlenie opisu i zakończenie
-h, –host=host : uruchomienie polecenia na hoście (jeśli obsługiwane przez wtyczkę)
-i, –login : uruchomienie powłoki logowania jako użytkownik docelowy; można także podać polecenie
-K, –remove-timestamp : całkowite usunięcie pliku znacznika czasu
-k, –reset-timestamp : unieważnienie pliku znacznika czasu
-l, –list : wypisanie uprawnień użytkownika lub sprawdzenie określonego polecenia; dwukrotne użycie to dłuższy format
-n, –non-interactive : tryb nieinteraktywny, bez pytań
-P, –preserve-groups : zachowanie wektora grup zamiast ustawiania docelowych
-p, –prompt=prompt : użycie podanego pytania o hasło
-R, –chroot=directory : zmiana katalogu głównego przed uruchomieniem polecenia
-r, –role=role : utworzenie kontekstu bezpieczeństwa SELinuksa z podaną rolą
-S, –stdin : odczyt hasła ze standardowego wejścia
-s, –shell : uruchomienie powłoki jako użytkownik docelowy; można także podać polecenie
-t, –type=type : utworzenie kontekstu bezpieczeństwa SELinuksa z podanym typem
-T, –command-timeout=timeout : zakończenie polecenia po zadanym limicie czasu
-U, –other-user=user : w trybie listy – wyświetlenie uprawnień użytkownika
-u, –user=user : uruchomienie polecenia (lub modyfikowanie pliku) jako podany użytkownik lub ID
-V, –version : wyświetlenie informacji o wersji i zakończenie
-v, –validate : uaktualnienie znacznika czasu użytkownika bez uruchamiania polecenia
– – : zakończenie przetwarzania argumentów linii poleceń
Przykłady
Opcja -l (lista) wyświetli polecenia dozwolone (i zabronione) dla użytkownika na bieżącym hoście.
sudo -l
Opcja -n wykonuje polecenie bez zadawania pytań
sudo -n POLECENIE
Aby edytować plik jako superużytkownik przy użyciu domyślnego edytora, należy użyć następującego polecenia:
sudo --edit /sciezka/do/pliku
W niektórych przypadkach może być konieczne uruchomienie polecenia jako inny użytkownik lub grupa. Aby to zrobić, możesz użyć opcji –user i –group z poleceniem sudo:
sudo --user=pawel --group=group id -a
Jeśli uruchomiłeś polecenie, np. ls /tmp , możesz je powtórzyć z sudo, używając następującego polecenia:
sudo !!
Aby uruchomić domyślną powłokę z uprawnieniami superużytkownika i uruchomić pliki specyficzne dla logowania (.profile, .bash_profile itp.), użyj następującego polecenia:
sudo --login
Aby uruchomić domyślną powłokę z uprawnieniami superużytkownika bez zmiany środowiska, użyj następującego polecenia:
sudo --shell
Więcej informacji o poleceniu sudo uzyskasz wpisując:
man sudo
sudo --help

