Kiedy uruchamiasz aplikacje administracyjne w Linuksie, możesz użyć polecenia su ("switch user"), aby przejść do superuser (root), lub możesz użyć polecenia sudo ("super user do").
Jednym ze sposobów sprawdzenia, kiedy użyć polecenia sudo, jest to, czy próbujesz uruchamiać polecenia w terminalu tylko po to, aby zostały spełnione błędy "odmowa dostępu" lub "operacja wymaga uprawnień administratora". Błędy te mogą wystąpić, jeśli dystrybucja Linuksa - podobnie jak Ubuntu - nie zezwala na użycie użytkownika root. Gdy użyjesz polecenia sudo, to konkretne polecenie można uruchomić z podwyższonymi uprawnieniami.
Jeśli jednak zdecydujesz się zamiast tego użyć polecenia su, przełączasz całego użytkownika na root, co oznacza, że nawet po pierwszym poleceniu każdy kolejny jest uruchamiany z danymi logowania root. To sprawia, że bardzo łatwo można przypadkowo uruchomić podwyższone polecenia, które mogą spowodować wiele szkód, jeśli nie będziesz ostrożny.
Aby poprawić: sudo działa tylko dla każdego polecenia, które zaczyna się jako "sudo", podczas gdy su włącza każdy polecenie w tym zachęcie do uruchomienia jako superuser bez konieczności wpisywania sudo lub su przed każdym.
Jak to działa
Chociaż działają one inaczej, można porównać polecenie sudo z monitem, który można zobaczyć w systemie Windows lub systemie MacOS. Zapytani w tych systemach operacyjnych, czy chcesz kontynuować wykonywanie tej konkretnej akcji, otrzymasz przycisk potwierdzający, że chcesz uruchomić akcję z podwyższonym poziomem uprawnień, a czasami możesz nawet wpisać hasło administratora .
Podobnie jak w tych systemach operacyjnych, Linux używa polecenia sudo jako ściany między normalnymi zadaniami i adminami, więc musisz potwierdzić na pewno, że chcesz zrobić cokolwiek, co polecenie wykona. Jeszcze bardziej podobne jest polecenie runas w systemie Windows; podobnie jak w Linuksie, polecenie runas działa z poziomu wiersza poleceń, aby uruchomić plik z danymi uwierzytelniającymi od określonego użytkownika, często administratora.
Wskazówka: Jeśli nie jesteś pewien, czy używasz sudo lub su, spójrz na znak kończący w linii poleceń. Jeśli jest to znak funta (#), jesteś zalogowany jako root.
O dowództwie Sudo
W Linuksie sudo (wymawiane "sue dough") pozwala administratorowi systemu dać niektórym użytkownikom lub grupom użytkowników możliwość uruchamiania niektórych lub wszystkich poleceń jako root podczas rejestrowania wszystkich poleceń i argumentów. Jednak nie jest to zamiennik powłoki.
Kiedy umieścisz "sudo" przed jakimkolwiek poleceniem w terminalu, uruchamiane jest następujące działanie z podwyższonymi uprawnieniami, dlatego jest to rozwiązanie problemów związanych z przywilejami. Jest to wymagane, jeśli chcesz uruchamiać polecenia, które są uważane za zadania administracyjne.
Sudo działa na zasadzie polecenia. Funkcje obejmują możliwość ograniczenia poleceń, które użytkownik może uruchomić na podstawie hosta, obfite rejestrowanie każdego polecenia w celu zapewnienia wyraźnego śladu audytu, kto co zrobił, konfigurowalny limit czasu polecenia sudo i możliwość korzystania z tego samego plik konfiguracyjny na wielu różnych komputerach.
Przykład polecenia Sudo
Standardowy użytkownik bez uprawnień administratora może wprowadzić polecenie w systemie Linux, aby zainstalować oprogramowanie:

dpkg -i software.deb
Polecenie zwraca błąd, ponieważ osoba bez uprawnień administratora nie może instalować oprogramowania. Jednak na ratunek przychodzi polecenie sudo. Zamiast tego poprawne polecenie dla tego użytkownika to:

sudo dpkg -i software.deb
Tym razem oprogramowanie zostanie zainstalowane. Zakłada się, że osoba z uprawnieniami administracyjnymi wcześniej skonfigurowała system Linux, aby umożliwić użytkownikowi instalację oprogramowania lub, jeśli zostanie wyświetlony monit o podanie hasła, aby hasło zostało wprowadzone poprawnie.
Uwaga: Możesz także skonfigurować system Linux, aby uniemożliwić niektórym użytkownikom korzystanie z polecenia sudo.




