Wann verwenden su und sudo unterschiedliche Passwörter?

12

Ich kann alles mit ausführen sudo; Mein Passwort wird akzeptiert. Aber wenn ich suaus einer Shell heraus versuche , schlägt dies fehl mit:

su: falsches Passwort

Woran kann das liegen?

Laser
quelle

Antworten:

22

subedeutet Ersatzbenutzer und wenn es ohne Argumente aufgerufen wird, werden Sie zum Superuser. Dazu müssen Sie das root-Passwort eingeben.

Dies ist etwas unhandlich, wenn viele Benutzer Befehle für die Systemadministration oder ähnliches mit erweiterten Benutzerrechten verwenden müssen. Sie möchten nur nicht, dass Menschen uneingeschränkte Rechte haben, indem Sie dasselbe root-Passwort teilen.

Die Lösung für diese Art von Problemen ist sudo(" Ersatzbenutzer tun "). Auf diese Weise können Sie die Befehle angeben, die ein Benutzer aufrufen kann, und die Berechtigungen definieren. Für sudoSie müssen nicht das root - Passwort eingeben, aber das Kennwort des Benutzers, der einen Befehl sudo aufzurufen versucht.

Bei einigen Distributionen ist der Root aus Sicherheitsgründen deaktiviert. Dies könnte eine Erklärung sein, warum Sie nicht in der Lage sind, zu verwenden su. In diesem Fall, um eine Shell mit Root-Rechten zu erhalten, benutze sudo -s;-)

Echox
quelle
5
Es wird empfohlen, das letzte Bit so zu machen, dass sudo su -der Bindestrich die Umgebung gemäß dem Anmeldeprofil des Benutzers (in diesem Fall root) festlegt. Dies führt normalerweise zu einer leichten Erhöhung der PATH-Sicherheit, schützt jedoch nicht vorecho hi > /dev/my_critical_filesystem
msw
aaah hab das vergessen :-) danke für den zusatz!
Echox
@echox: Gibt es dann einen Unterschied zwischen $ scriptund $ sudo script? Der Benutzer ist in beiden Fällen der gleiche.
Lazer
sudo allows a permitted user to execute a command as the superuser or another user, as specified in the sudoers file.- von Mann sudo. Normalerweise wird das Skript mit Root-Rechten aufgerufen. Das ist der Unterschied.
Echox
1
@ Chris: Leider ist dies erforderlich, wenn Sie die gesamte Root-Benutzerumgebung einschließlich ihres PFADs erben möchten. Übrigens habe ich gerade herausgefunden, dass "sudo -s", das ich oben kommentiert, aber jetzt entfernt habe, eher "sudo su" ohne Bindestrich entspricht: keine Änderung an CWD, keine Änderung an PATH.
Warren Young
7

Mit dem Befehl su ohne Optionen können Sie standardmäßig Rootbenutzer werden. Es wird nicht nach Ihrem Passwort gefragt, sondern nach dem Root-Passwort.

Der Befehl sudo fragt immer nach Ihrem Passwort.

Matthew Brannigan
quelle
2
als eine Randnotiz, wenn Sie Ubuntu verwenden, standardmäßig verriegelt das root - Passwort, so dass Sie nicht das root - Passwort wissen help.ubuntu.com/community/RootSudo
phunehehe
3
Msgstr "Der Befehl sudo fragt immer nach Ihrem Passwort." Eigentlich ist das konfigurierbar. Es kann auch so konfiguriert werden, dass nach dem Root-Passwort oder dem Passwort des Zielbenutzers gefragt wird (oder nach gar keinem Passwort).
8.