Antworten:
su
bedeutet 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 sudo
Sie 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
;-)
$ script
und $ sudo script
? Der Benutzer ist in beiden Fällen der gleiche.
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.
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.
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