
Ich habe versucht, den Befehl einzuschränken, den ein bestimmter Benutzer in der Sudoers-Datei ausführen kann. Angenommen, ich habe so etwas:
dummy myserver=(ALL:ALL) /usr/sbin/reboot,/usr/sbin/shutdown
Mein Dummy-Benutzer darf das System nur neu starten oder herunterfahren. Ich erlaube dem Dummy-Benutzer absichtlich, sich als andere Benutzer auszugeben, aber jedes Mal, wenn ich versuche, die Option -u des sudo zu verwenden, z. B.sudo -u anotheruser whoami
Ich erhalte die folgende Fehlermeldung:
Sorry, user dummy is not allowed to execute '/usr/bin/whoami' as anotheruser on myserver.
Ich verstehe, dass ich den Benutzer und die Gruppe, die ich imitieren möchte, in den Sudoers gezielt aufrufen kann, aber ich frage mich, warum ALL:ALL nicht funktioniert.
Ich würde mich sehr über Ihre Antworten freuen.
Antwort1
Das (ALL:ALL)
funktioniert, Ihr dummy
Benutzer darf nur nicht ausführen whoami
. Sie sollten /usr/bin/whoami
die Liste der zulässigen Befehle ergänzen. Ihre aktuelle Regel besagt, dass dummy
ausgeführt werden kann /usr/sbin/reboot
oder /usr/sbin/poweroff
alsbeliebigBenutzer undbeliebigGruppe. Sie dürfen anrufen sudo -u anotheruser /usr/sbin/reboot
, das Scheitern des Neustarts des Systems hat nichts damit zu tunsudo.
Darüber hinaus sind auf Ihrem System wahrscheinlich keine ausführbaren Dateien /usr/sbin/reboot
und vorhanden /usr/sbin/poweroff
. Dies sind wichtige Befehle, daher sollten sie in enthalten sein /sbin
.
Zusammenfassend: Ihre /etc/sudoers
Datei sollte eine Zeile wie diese enthalten:
dummy myserver=(ALL:ALL) /sbin/reboot, /sbin/poweroff, /usr/bin/whoami