Wenn ich versuche, ls
als Benutzer abc
mit dem folgenden Befehl auszuführen, erhalte ich eine Fehlermeldung:
xyz@host:~/temp$ sudo -u abc ls
[sudo] password for xyz:
Sorry, user xyz is not allowed to execute '/bin/ls' as abc on host.
Aber wenn ich es tue su abc
und dann ausführe, habe ls
ich kein Problem
Dies liegt daran,
sudo
unterscheidet sich vonsu
. Wenn Siesu abc
, werden Sie der Benutzerabc
, was das System betrifft. Sie können dann alles tun, was Sieabc
können.Auf der anderen Seite
sudo
wird verwendet, um anderen Benutzern die Ausführung einiger Befehle per Proxy zu ermöglichen. Mit anderen Worten, Ihresudo
Konfiguration ermöglicht es Ihnen, einige Befehle im Auftrag von auszuführenabc
. Wenn der Befehl, den Sie ausführen möchten, keiner von ihnen ist, wird der von Ihnen gemeldete Fehler angezeigt.quelle
Für den Fall, dass alles in Ordnung aussieht, Sie aber trotzdem eine
Sorry user xxx cannot execute...
Nachricht erhalten und Siesudo
jedes Mal nach einem Passwort gefragt werden.Du kannst das:
/etc/sudoers
Löschzeile mit Ihren BenutzereinstellungenDas hat bei mir funktioniert. Es stellte sich heraus, dass die Endung in dieser Zeile schlecht war, da ich Befehle kopierte, die über E-Mail ausgeführt werden mussten.
quelle
visudo
es an erster Stelle bearbeitet hätten, hätten Sie das erfahren?