Na moim osobistym komputerze często piszę sudo
przed niektórymi poleceniami, aby wykonywać zadania administracyjne. Miałem nadzieję uniknąć robienia tego przez cały dzień, wpisując su root
i podając to samo hasło, dla którego zwykle robię sudo
. Jednak dwa hasła nie są takie same (nie wiem, jak się zalogować su root
). Czy uruchomienie polecenia sudo
różni się od zalogowania się su root
i uruchomienia tego samego polecenia?
Myślę sudo
i su root
są takie same, ponieważ kiedy piszę sudo whoami
, dostaję root
, w przeciwieństwie do tego, whoami
skąd mam swoją nazwę użytkownika.
sudo
z systemu system prosi o podanie hasła w celu weryfikacji tożsamości, a następnie sprawdza,/etc/sudoers
czy możesz uruchamiać sudo. Kiedy korzystaszsu
, system wymaga podania hasła użytkownika, do którego się przełączasz . (Wiem, że jest to teraz bardzo stare pytanie, ale chciałem dodać wyjaśnienie z korzyścią dla przyszłych widzów.)Odpowiedzi:
Wbrew temu, co ich najbardziej powszechne stosowanie doprowadzi was do myślenia,
su
asudo
nie tylko przeznaczona do logowania (lub wykonywanie czynności) jako root.su
pozwala ci zmienić swoją tożsamość na tożsamość innej osoby. Z tego powodu podczas pisaniasu
system musi zweryfikować, czy masz poświadczenia użytkownika docelowego, na który próbujesz się zmienić.sudo
jest trochę inny. Używaniesudo
pozwala uruchamiać niektóre (lub wszystkie, w zależności od konfiguracji) polecenia jak ktoś inny. Twoja własna tożsamość służy do określania, jakie typy poleceńsudo
będą uruchamiane w ramach tożsamości innej osoby: jeśli jesteś zaufanym użytkownikiem (w tym sensie, że sysadmin ci ufa), będziesz mieć większą swobodę niż, powiedzmy, stażysta. Dlatego właśniesudo
musisz zweryfikować swoją tożsamość, a nie tożsamość użytkownika docelowego.Innymi słowy, próba dotarcia do
su
kogoś, kim nie jesteś, jest jak próba obciążenia twoich zakupów skradzioną kartą kredytową podczas korzystania z niej,sudo
to jak sprzedaż samochodu twojego przyjaciela przez prawnego pełnomocnika.Jeśli chodzi o to, co próbujesz zrobić, po prostu
sudo su root
lub nawet prościejsudo su
i wpisz swoje zwykłe hasło użytkownika. To w przybliżeniu sprowadzałoby się do zastąpienia danych uwierzytelniających karty kredytowej twojego znajomego własnymi przy użyciu prawnego pełnomocnika, który ci dał :). Oczywiście zakłada, żesudo
konfiguracja pozwala na uruchamianiesu
z eskalowanymi uprawnieniami.Ponadto w systemach, które są wstępnie skonfigurowane z
sudo
dostępem, konto root jest wyłączone (bez hasła roota), można je włączyć za pomocąpasswd
polecenia po zalogowaniu się jako rootsudo su
.źródło
sudo
)?sudo
służy do tymczasowej eskalacji uprawnień użytkownika do poziomu root, natomiastsu root
służy do tworzenia nowej powłoki z rootem jako użytkownik;źródło
Można go konfigurować *, ale domyślnie „sudo” prosi o podanie hasła. Próbuje tylko upewnić się, że to ty, a nie ktoś, kto korzysta z klawiatury podczas picia kawy.
Natomiast „su root” prosi o hasło roota.
* Jeśli targetpw w / etc / sudoers ma wartość false (domyślnie), „sudo” prosi o podanie hasła. Jeśli to prawda, wówczas „sudo” prosi o hasło roota lub, jeśli podałeś innego użytkownika opcją „-u”, hasło tego użytkownika.
źródło
Z korzyścią dla niektórych nowicjuszy w tym wyszukiwaniu istnieje prosta metoda przejścia do rootowania do momentu wyjścia:
Zapewni ci interaktywność i środowisko, ale teraz jako root.
źródło