Sudo su vs su linux

24

Wenn ich das Passwort für sueingebe, wenn ich dazu aufgefordert werde, funktioniert es nicht, solange dies der sudo suFall ist. Wenn ein Befehl mit ausgeführt wird sudo (command), führt sudo ihn standardmäßig automatisch als root aus (wie in der Manpage angegeben)sudo, sudoedit - execute a command as another user

michaelxu@michaelxu-server:~$ su
Password:
su: Authentication failure
michaelxu@michaelxu-server:~$ sudo su
[sudo] password for michaelxu:
root@michaelxu-server:/home/michaelxu# exit
agz
quelle

Antworten:

41

Dies liegt daran su, dass Sie nach dem Kennwort des Benutzers gefragt werden, in den Sie wechseln (standardmäßig root), während Sie sudonach dem Kennwort Ihres eigenen Benutzerkontos gefragt werden und prüfen, ob Sie den Befehl ausführen dürfen.

Wenn Sie ausführen, werden sudo suSie aufgefordert sudo, den Befehl suals root auszuführen , wodurch Sie die root-Shell erhalten. Wenn Sie nur verwenden, müssen suSie das Kennwort des Zielbenutzers kennen, um Zugriff zu haben.

Die Verwendung sudoohne Parameter impliziert, dass Sie root verwenden möchten. Wenn Sie den Befehl als anderer Benutzer ausführen möchten, versuchen Sie essudo -u <username> <command>

Renan
quelle
7
Eine weitere wichtige Information, um den zugehörigen Befehl zu verstehen, sudo su otheruserbesteht darin, sudass der Root-Benutzer in einen beliebigen Benutzer wechseln kann, ohne sein Kennwort eingeben zu müssen, während Nicht-Root-Benutzer, die ausgeführt suwerden, das Kennwort des Zielbenutzers eingeben müssen. sudo suDaher wird es suals root ausgeführt, wodurch Sie eine Shell für einen anderen Benutzer erhalten können, ohne dessen Kennwort zu kennen (sofern dies von Sudoern zugelassen wird).
Lie Ryan
Was wäre mein root-Passwort für den "su" -Befehl? Warum ist es nicht das Passwort, das ich zu Beginn der Installation festgelegt habe?
Agz
Weil Ihre Distribution es wahrscheinlich nicht eingestellt hat. Sie können ein Root-Passwort festlegen, das ausgeführt wird sudo passwd(geben Sie zuerst Ihr Benutzerpasswort ein und wählen Sie dann ein neues Root-Passwort aus).
Renan
Also im Moment gibt es kein Passwort? ... also ist root im Grunde genommen nur ein Account, mit dem Sudoer Änderungen an Root-Dateien vornehmen können?
Agz
nicht nur das, es gibt viele andere dienste, die als root ausgeführt werden müssen (check ps aux).
Renan
17

susteht für s Hexe (oder s ubstitute) u ser. Ohne Angabe eines Benutzernamens wird standardmäßig zu root gewechselt. Sie werden aufgefordert, das Kennwort des Benutzers einzugeben, zu dem Sie wechseln.

sudowird verwendet, um einen Befehl als root (dh mit root-Berechtigungen) oder als anderer Benutzer auszuführen. Sie werden zur Eingabe Ihres Kennworts aufgefordert und es wird überprüft, ob Sie sudo verwenden dürfen.

Bei der Eingabe suwerden Sie aufgefordert, zu root zu wechseln, und das angeforderte Kennwort ist das root-Kennwort. Bei der Eingabe sudo suwerden Sie aufgefordert, den Befehl auszuführen, um als root zu root zu wechseln. Das Kennwort, nach dem Sie gefragt werden, gehört Ihnen.

ForeverWintr
quelle
1

... und um das Problem zu beheben, dass 'su' nicht alleine verwendet werden kann, sudo zu einer Root-Shell und ein Passwort für root mit 'chpass' gesetzt wird.

Nevin Williams
quelle