Dlaczego hasło „sudo” jest inne niż hasło „su root”

11

Na moim osobistym komputerze często piszę sudoprzed niektórymi poleceniami, aby wykonywać zadania administracyjne. Miałem nadzieję uniknąć robienia tego przez cały dzień, wpisując su rooti 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 sudoróżni się od zalogowania się su rooti uruchomienia tego samego polecenia?

Myślę sudoi su rootsą takie same, ponieważ kiedy piszę sudo whoami, dostaję root, w przeciwieństwie do tego, whoamiskąd mam swoją nazwę użytkownika.

Trevor Hickey
źródło
Natknąłem się na ten starszy wątek, ponieważ był powiązany z pytaniem, które zadałem. Odpowiedzi są bardzo pouczające, ale pozostawiają pytanie. Jak uzyskać inne hasło do roota na komputerze osobistym (jeden użytkownik) w zależności od tego, czy korzystasz z sudo czy su root? Czy nie ma jednego hasła roota zdefiniowanego podczas instalacji Linuksa?
fixer1234
@ fixer1234 Jak wyjaśniono w odpowiedzi John1024 , podczas korzystania sudoz systemu system prosi o podanie hasła w celu weryfikacji tożsamości, a następnie sprawdza, /etc/sudoersczy możesz uruchamiać sudo. Kiedy korzystasz su, 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.)
anonimowy
@anonymoose, to pytanie dotyczyło osobistej maszyny OP. Zazwyczaj, gdy instalujesz Linuksa na swoim komputerze, wiedziałbyś, że podałeś rootowi inne hasło niż zwykły użytkownik. Pytanie wskazuje, że OP był zaskoczony, gdy dowiedział się, że root ma inne hasło.
fixer1234,
1
@ fixer1234 OP mógł nie ustawić hasła roota na początek. Instalator Ubuntu nie pyta o hasło roota i jestem pewien, że niektóre inne dystrybucje tego nie robią.
anonimowy

Odpowiedzi:

17

Wbrew temu, co ich najbardziej powszechne stosowanie doprowadzi was do myślenia, sua sudonie tylko przeznaczona do logowania (lub wykonywanie czynności) jako root.

supozwala ci zmienić swoją tożsamość na tożsamość innej osoby. Z tego powodu podczas pisania susystem musi zweryfikować, czy masz poświadczenia użytkownika docelowego, na który próbujesz się zmienić.

sudojest trochę inny. Używanie sudopozwala 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ń sudobę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śnie sudomusisz zweryfikować swoją tożsamość, a nie tożsamość użytkownika docelowego.

Innymi słowy, próba dotarcia do sukogoś, kim nie jesteś, jest jak próba obciążenia twoich zakupów skradzioną kartą kredytową podczas korzystania z niej, sudoto jak sprzedaż samochodu twojego przyjaciela przez prawnego pełnomocnika.

Jeśli chodzi o to, co próbujesz zrobić, po prostu sudo su rootlub nawet prościej sudo sui 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, że sudokonfiguracja pozwala na uruchamianie suz eskalowanymi uprawnieniami.

Ponadto w systemach, które są wstępnie skonfigurowane z sudodostępem, konto root jest wyłączone (bez hasła roota), można je włączyć za pomocą passwdpolecenia po zalogowaniu się jako root sudo su.

Joseph R.
źródło
Czy dla użytkownika domowego zaleca się ustawienie hasła roota oprócz posiadania użytkownika z uprawnieniami (jak w sudo)?
Royi,
3

sudosłuży do tymczasowej eskalacji uprawnień użytkownika do poziomu root, natomiast su rootsłuży do tworzenia nowej powłoki z rootem jako użytkownik;

Dave
źródło
2

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.

John1024
źródło
1

Z korzyścią dla niektórych nowicjuszy w tym wyszukiwaniu istnieje prosta metoda przejścia do rootowania do momentu wyjścia:

     sudo -iE

Zapewni ci interaktywność i środowisko, ale teraz jako root.

fcm
źródło