Skip to content

Jaka jest różnica między Sudo a Su w Linuksie?

24 de lipiec de 2021
image195 1024x437 1

Jeśli jesteś użytkownikiem Linuksa, prawdopodobnie widziałeś odniesienia do sudo i su. Artykuły tutaj na temat How-To Geek i gdzie indziej instruują użytkowników Ubuntu, aby używali sudo, a użytkownicy innych dystrybucji Linuksa używali su, ale jaka jest różnica?

Sudo i su to dwa różne sposoby na uzyskanie uprawnień roota. Każda działa w inny sposób, a różne dystrybucje Linuksa domyślnie używają różnych konfiguracji.

Użytkownik root

Zarówno su, jak i sudo są używane do uruchamiania poleceń z uprawnieniami roota. Użytkownik root jest w zasadzie odpowiednikiem użytkownika administratora w systemie Windows – użytkownik root ma maksymalne uprawnienia i może zrobić wszystko w systemie. Zwykli użytkownicy w systemie Linux działają z ograniczonymi uprawnieniami — na przykład nie mogą instalować oprogramowania ani zapisywać danych w katalogach systemowych.

Aby zrobić coś, co wymaga tych uprawnień, musisz je zdobyć za pomocą su lub sudo.

Su kontra Sudo

Polecenie su przełącza się na super użytkownika – lub użytkownika root – po wykonaniu go bez dodatkowych opcji. Będziesz musiał wprowadzić hasło do konta root. To jednak nie wszystko, co robi polecenie su – możesz go użyć, aby przełączyć się na dowolne konto użytkownika. Jeśli wykonasz su bob polecenie, zostaniesz poproszony o podanie hasła Boba, a powłoka przełączy się na konto użytkownika Boba.


Gdy skończysz uruchamiać polecenia w powłoce głównej, powinieneś wpisać Wyjście opuścić powłokę root i wrócić do trybu ograniczonych uprawnień.

Sudo uruchamia jedno polecenie z uprawnieniami roota. Kiedy wykonujesz polecenie sudo, przed uruchomieniem system poprosi o podanie hasła do bieżącego konta użytkownika Komenda jako użytkownik root. Domyślnie Ubuntu zapamiętuje hasło przez piętnaście minut i nie będzie prosić o hasło ponownie, dopóki nie minie piętnaście minut.

1627116930 380 Jaka jest roznica miedzy Sudo a Su w Linuksie

To jest kluczowa różnica między su i sudo. Su przełącza cię na konto użytkownika root i wymaga hasła konta root. Sudo uruchamia pojedyncze polecenie z uprawnieniami roota – nie przełącza się na użytkownika root ani nie wymaga oddzielnego hasła użytkownika root.

Ubuntu a inne dystrybucje Linuksa

Polecenie su jest tradycyjnym sposobem uzyskiwania uprawnień roota w systemie Linux. Polecenie sudo istnieje od dawna, ale Ubuntu było pierwszą popularną dystrybucją Linuksa, która domyślnie używała tylko sudo. Podczas instalacji Ubuntu tworzone jest standardowe konto root, ale nie jest do niego przypisane żadne hasło. Nie możesz zalogować się jako root, dopóki nie przypiszesz hasła do konta root.

1627116930 317 Jaka jest roznica miedzy Sudo a Su w Linuksie

Istnieje kilka zalet domyślnego używania sudo zamiast su. Użytkownicy Ubuntu muszą podać i zapamiętać tylko jedno hasło, podczas gdy Fedora i inne dystrybucje wymagają utworzenia oddzielnych haseł konta root i konta użytkownika podczas instalacji.

Kolejną zaletą jest to, że zniechęca użytkowników do logowania się jako użytkownik root – lub używania su w celu uzyskania powłoki głównej – i utrzymywania otwartej powłoki głównej w celu wykonywania normalnej pracy. Uruchamianie mniejszej liczby poleceń jako root zwiększa bezpieczeństwo i zapobiega przypadkowym zmianom w całym systemie.


Dystrybucje oparte na Ubuntu, w tym Linux Mint, również domyślnie używają sudo zamiast su.

Kilka sztuczek

Linux jest elastyczny, więc nie wymaga wiele pracy, aby su działało podobnie do sudo – lub odwrotnie.

Aby uruchomić jedno polecenie jako użytkownik root z su, uruchom następujące polecenie:

su -c 'polecenie’

Jest to podobne do uruchamiania polecenia z sudo, ale będziesz potrzebować hasła konta root zamiast hasła bieżącego konta użytkownika.

Aby uzyskać pełną, interaktywną powłokę root z sudo, uruchom sudo –i.

1627116930 281 Jaka jest roznica miedzy Sudo a Su w Linuksie

Będziesz musiał podać hasło bieżącego konta użytkownika zamiast hasła konta root.

Włączanie użytkownika root w Ubuntu

Aby włączyć konto użytkownika root w Ubuntu, użyj następującego polecenia, aby ustawić dla niego hasło. Pamiętaj, że Ubuntu odradza to.

sudo passwd root


Sudo poprosi Cię o hasło do bieżącego konta użytkownika, zanim będziesz mógł ustawić nowe hasło. Użyj nowego hasła, aby zalogować się jako root z monitu logowania terminala lub za pomocą polecenia su. Nigdy nie powinieneś uruchamiać pełnego środowiska graficznego jako użytkownik root – jest to bardzo słaba praktyka bezpieczeństwa i wiele programów odmówi pracy.

1627116930 240 Jaka jest roznica miedzy Sudo a Su w Linuksie

Dodawanie użytkowników do pliku Sudoers

Tylko konta administratora w Ubuntu mogą uruchamiać polecenia z sudo. Możesz zmienić typ konta użytkownika w oknie konfiguracji Konta użytkowników.

1627116930 599 Jaka jest roznica miedzy Sudo a Su w Linuksie

Ubuntu automatycznie wyznacza konto użytkownika utworzone podczas instalacji jako konto administratora.

1627116930 497 Jaka jest roznica miedzy Sudo a Su w Linuksie

Jeśli używasz innej dystrybucji Linuksa, możesz przyznać użytkownikowi uprawnienia do korzystania z sudo, uruchamiając wizjoner polecenie z uprawnieniami roota (więc uruchom su pierwszy lub użyj su-c).

Dodaj następujący wiersz do pliku, zastępując użytkownik z nazwą konta użytkownika:

użytkownik WSZYSTKO=(WSZYSTKO:WSZYSTKO) WSZYSTKO


naciśnij Ctrl+X i wtedy Tak aby zapisać plik. Możesz także dodać użytkownika do grupy określonej w pliku. Użytkownicy w grupach określonych w pliku automatycznie otrzymają uprawnienia sudo.

1627116930 427 Jaka jest roznica miedzy Sudo a Su w Linuksie

Graficzne wersje Su

Linux obsługuje również graficzne wersje su, które proszą o hasło w środowisku graficznym. Na przykład możesz uruchomić następujące polecenie, aby uzyskać graficzny monit o hasło i uruchomić przeglądarkę plików Nautilus z uprawnieniami roota. naciśnij Alt+F2 uruchomić polecenie z graficznego okna dialogowego uruchamiania bez uruchamiania terminala.

gksu nautilus

1627116931 48 Jaka jest roznica miedzy Sudo a Su w Linuksie

Polecenie gksu ma również kilka innych sztuczek w rękawie – zachowuje bieżące ustawienia pulpitu, więc programy graficzne nie będą wyglądać nie na miejscu, gdy uruchomisz je jako inny użytkownik. Programy takie jak gksu są preferowanym sposobem uruchamiania aplikacji graficznych z uprawnieniami roota.

Gksu używa backendu opartego na su lub sudo, w zależności od używanej dystrybucji Linuksa.

Teraz powinieneś być przygotowany na spotkanie z su i sudo! Spotkasz się z obydwoma, jeśli używasz różnych dystrybucji Linuksa.

Czy ten post był pomocny?