Czy zmiana hasła jakiegoś użytkownika zmieni również hasło sudo?

20

Jestem jedynym użytkownikiem mojego systemu Linux Mint i zauważyłem, że hasło, które wybrałem do logowania, jest tym samym, do którego zostało przypisane sudo.

Więc moje pytanie brzmi: czy zmiana hasła logowania również zmieni sudohasło?

Jeśli nie, jak mogę zmienić sudohasło?

Carl Rojas
źródło
5
To nie jest hasło sudo, to twoje hasło.
user253751

Odpowiedzi:

44

Domyślnie sudopyta o hasło użytkownika . Zatem zmiana hasła użytkownika (które jest również używane do logowania), wpłynie również na wywołania sudo.

Możesz jednak ustawić /etc/sudoersdla swojego użytkownika rootpwflagę, w którym to przypadku poprosi on o hasło roota.

Odpowiedni fragment strony podręcznika sudoers (5) to:

Authentication and logging
 The sudoers security policy requires that most users authenticate them‐
 selves before they can use sudo.  A password is not required if the
 invoking user is root, if the target user is the same as the invoking
 user, or if the policy has disabled authentication for the user or com‐
 mand.  Unlike su(1), when sudoers requires authentication, it validates
 the invoking user's credentials, not the target user's (or root's) cre‐
 dentials.  This can be changed via the rootpw, targetpw and runaspw
 flags, described later.

Podobnie, słowem kluczowym, które nie wymaga podania hasła do sudo, jest NOPASSWD .

Jeśli chcesz ustawić hasło roota, możesz użyć sudo passwd

Zauważ, że przy zmianie uprawnień sudo zaleca się utrzymywanie otwartej konsoli głównej (np. sudo -s), Dopóki nie zostanie sprawdzone w innym terminalu, czy rzeczywiście działa i nie zablokowałeś się.

Anioł
źródło
1
Możesz też określić, że użytkownik (lub grupa użytkowników) może korzystać sudo bez pytania o hasło.
Baard Kopperud
9
Powinieneś także wspomnieć, jak ustawić roothasło. Konfiguracja sudowymagająca roothasła bez uprzedniego ustawienia roothasła może być problematyczna.
kasperd
4
Chociaż jest to prawda, ogólnie rzecz biorąc, uważanie administratorów za „hasło roota” jest złym pomysłem. Zastanów się, ile szkód może wyrządzić administrator, który to zmienił, a następnie odszedł. Najlepsze praktyki zazwyczaj wymagają od administratorów bycia członkami grupy (np. „Kółko”), /etc/sudoersktórzy mogą przechodzić na rootowanie przy użyciu własnego hasła, a nie hasła wspólnego.
Monty Harder
1
@MontyHarder to ta sama szkoda, którą ten sam nieuczciwy administrator może zrobić, usuwając wszystkich z grupy kół lub zmieniając zawartość / etc / sudoers Główną zaletą nie jest unikanie złych administratorów (dajesz im root!), Ale unikanie bezpośrednich logowań jako root (prowadząc w ten sposób dziennik działań).
Ángel
@kasperd, BaardKopperud: dodano
Ángel
22

Samo sudohasło nie istnieje . Użytkownik może należeć do sudogrupy i uruchomić sudopolecenie, ale każdy użytkownik ma tylko jedno hasło. Kiedy się zmienia, zmienia się dla użytkownika, a nie żadnej aplikacji.

Innym podobnym nieporozumieniem jest to, że hasło roota jest takie samo jak hasło używane do sudoing. Nie, root jest pojedynczym użytkownikiem i ma prywatne hasło, które nie ma nic wspólnego z żadnym innym hasłem.

Tomasz
źródło
8
Tak sudozazwyczaj jest domyślnie konfigurowany. Ale tę konfigurację można zmienić.
kasperd
1
Lub wheelgrupa
l0b0
3

Tak, sudoużywa tej samej „bazy danych haseł” (zwykle /etc/shadoww przypadku małego systemu) jak podczas logowania.

Ikar
źródło
1
Z pewnością na zdrowych systemach. Ale ponieważ sudo może mieć osobną pam.d/konfigurację, mogą istnieć niezbyt rozsądne systemy, które wykonują takie czynności jak „logowanie za pomocą kerberos / ldap auth, a sudo z lokalną bazą haseł”. (Tak, nie dotyczy to menadżera PO dla jednego użytkownika).
Ulrich Schwarz