Dlaczego muszę „sudo”?

12

Wykonałem kilka samouczków na temat mojego RPi i zaczyna się od wielu poleceń sudo; co to znaczy i co robi?

Alex Chamberlain
źródło
7
To świetne pytanie, mogę sobie wyobrazić, że wielu początkujących chce informacji na ten temat.
berry120
@ berry120 tak, ale byłby bardziej odpowiedni dla Unix / Linux SE, ponieważ ludzie uruchamiają swoje Pi także na innych systemach operacyjnych (patrzę na ciebie, RISC OS!)
evamvid
Whaaaat? Pytanie roczne! zrób to 2 lata!
evamvid
@evamvid To było jedno z pierwszych przykładowych pytań na temat RPi.SE ...
Alex Chamberlain

Odpowiedzi:

21

sudooznacza Super User Do; pozwala na uruchamianie jako inny użytkownik, zazwyczaj superużytkownik ( root), w celu wykonywania zadań administracyjnych, takich jak aktualizacja oprogramowania, zmiana systemów plików i uruchamianie demonów.

rootma najwyższą moc i może działać prawie wszystko. Dlatego może wyrządzić wiele szkód w twoim systemie, aw najgorszym przypadku będziesz musiał zacząć od nowa.

Zawsze musisz zrozumieć, co robi polecenie, zanim je uruchomisz.

Dlaczego mamy sudo?

Ze względów bezpieczeństwa zwykli użytkownicy nie mogą zrobić wszystkiego. Zapobiega to przypadkowemu zrobieniu czegoś złego i zapobiega złośliwym użytkownikom uszkadzającym system.

Dlaczego nie logujemy się, rootgdy chcemy podwyższonych uprawnień?

sudopozwala administratorom kontrolować, jakie polecenia może wykonywać każdy użytkownik root. Na przykład administrator może zezwolić na działanie apt-getjako root, ale nic więcej. Ponadto wszystkie polecenia uruchamiane przez sudosą zalogowane /var/log/auth.log.

Inne dystrybucje

Domyślny obraz Debiana został sudozainstalowany wcześniej, ale inni mogą tego nie zrobić. Często można go zainstalować za pomocą menedżera pakietów dystrybucyjnych lub zbadać inne sposoby uzyskania uprawnień roota.

Łuk

Możesz zainstalować sudoza pomocą pacman: uruchom pacman -S sudojako root. Następnie należy dodać nowego użytkownika i wyłączyć rootkonto.

su

W Arch Linux (i innych dystrybucjach, które go obsługują) możesz użyć sukomendy (podmień użytkownika), aby przyjąć tożsamość dowolnego innego użytkownika (w tym root). Oznacza to, że wszystkie twoje przyszłe polecenia (w bieżącej sesji) będą miały swoje uprawnienia. Będziesz jednak wymagać hasła i uruchamiane polecenia niekoniecznie będą rejestrowane.

Zobacz też:

Alex Chamberlain
źródło
1
Czy uważasz, że informacje na temat sumogą być przydatne, aby naprawdę wypełnić odpowiedź?
Alex L
Zaproponować edycję pod nagłówkiem Inne dystrybucje?
Alex Chamberlain
Ponadto staram się pisać „sudo bash”, gdy tylko załaduję moje pi, aby uniknąć konieczności pisania sudo przez cały czas. Umożliwia to uruchamianie wszystkiego z uprawnieniami superużytkowników. Jest to oczywiście trochę niebezpieczne, ale przy rpi niewiele poważnie złych można zrobić.
phalt
1
To bardzo zły nawyk, aby się w to wcielić!
Alex Chamberlain,
1
@phalt Dlaczego więc nie zalogujesz się jako root?
Jivings
2

Zwykle używasz go do wykonania określonego polecenia jako root, a nie jako bieżący użytkownik. Ze względów bezpieczeństwa normą w świecie Linuksa jest to, że główny użytkownik ma ograniczone uprawnienia, a ty możesz przełączyć się na root, ilekroć musisz zrobić coś, do czego nie masz uprawnień (np. Instalowanie pakietów).

Root jest trochę podobny do administratora w świecie Windows - to twój ostateczny użytkownik „może zrobić wszystko”.

berry120
źródło