sudo vs su (jako użytkownik inny niż root)


10

Mój komputer ma użytkownika 1 i użytkownika 2, obaj administratorzy.

Podczas gdy jestem zalogowany jako użytkownik1, próbuję:

  • „su - user2” -> monituje mnie o hasło users2, a następnie mogę wpisywać polecenia
  • „sudo --user = użytkownik2 [polecenie]” -> monituje mnie o hasło. Po wpisaniu hasła użytkownika2 pojawia się komunikat „Przepraszamy, spróbuj ponownie”. komunikat o błędzie, jakby hasło było niepoprawne. Jeśli wpiszesz hasło użytkownika 1, działa ono poprawnie.

Czy polecenie sudo nie powinno wymagać hasła użytkownika, które zdefiniuję w parametrze „--user”?


2
Sudo (super użytkownik robi) prosi o hasło użytkownika wywołującego polecenie sudo. Su (zmień użytkownika) prosi o podanie hasła użytkownika, na który zostanie przełączony.
Pan Kennedy

Odpowiedzi:


21

Jest to oczekiwane zachowanie.

  • Su ma na celu zmianę użytkownika. Nazywa się to zastępczym narzędziem tożsamości użytkownika. su bierze hasło drugiego użytkownika, ponieważ przełączasz się na tego użytkownika.

    Narzędzie su żąda odpowiednich poświadczeń użytkownika za pośrednictwem PAM i przełącza się na ten identyfikator użytkownika (domyślnym użytkownikiem jest administrator). Następnie wykonywana jest powłoka.

    Źródło: strona podręcznika man

  • Celem sudo jest wykonanie polecenia jako inny użytkownik. Opcja -ulub --userdla sudo określa tego użytkownika. Nie logujesz się jako ten użytkownik, wystarczy uruchomić polecenie. sudo bierze twoje hasło, aby zweryfikować twoją tożsamość do wykonania takiego zadania.


Więc jeśli użytkownik 1 nie znajduje się w pliku sudoers, nie byłbym w stanie sudo, po prostu „su”?
Pablo

1
@Pablo To prawda
grg

@Pablo „zmień użytkownika” kontra „super użytkownik zrobić”. Jeden wymaga uwierzytelnienia jako drugi użytkownik; drugi wymaga uwierzytelnienia jako administrator.
Boris the Spider
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.