Ist es möglich, die sudoers-Datei so zu bearbeiten, dass ein Benutzer sudo für jeden Befehl außer für einen bestimmten verwenden kann? Ich glaube, dass die sudoers-Datei so eingerichtet werden kann, dass ein Benutzer nur eine bestimmte Liste von Befehlen ausführen kann.
BEARBEITEN: Die Befehle, die ich wirklich wegnehmen möchte, sind Anhalten und Neustarten. Dies lässt mich denken, dass es spezielle Systemaufrufe für Anhalten und Neustart gibt. Können Sie einem Benutzer Systemaufrufe wegnehmen? Wenn nicht, liegt es daran, dass das Unix-Berechtigungssystem über Systemaufrufe abstrahiert und dies vernachlässigt?
Protokollieren Sie alles, was sie über sudo tun. Vermutlich haben Sie eine Möglichkeit, den Punkt zu verdeutlichen, es nicht noch einmal zu tun.
protokolliert alle Befehle, die sie ausführen, google ein bisschen für weitere Informationen.
quelle
Ja und Nein ... Sie können verhindern, dass ein Benutzer eine bestimmte Datei ausführt, indem Sie der Datei einen Knall (!) Vorstellen. Sie können jedoch nicht verhindern, dass ein Benutzer die Datei an einen anderen Speicherort kopiert und von dort aus ausführt.
Gewähren des Zugriffs auf bestimmte Dateien als anderer Benutzer
quelle
Wenn der Benutzer wirklich neu starten möchte, wird er einen Weg finden.
sudo -s
,sudo -i
,sudo $EDITOR /etc/sudoers
... können entfernen Ihre Einschränkungen verwendet werden.Und auf Unix-ähnlichen Systemen dürfen Sie das System neu starten, solange Sie root sind (UID 0). Wenn Sie einen Weg finden, diese Systemaufrufe einzuschränken, können Sie dies tun:
oder eine Variation davon. Oder starten Sie neu, indem Sie eine Kernel-Panik auslösen. Oder...
Wenn Sie über Root-Zugriff verfügen, können Sie in der Regel alle vorhandenen Einschränkungen entfernen.
quelle
sicher, als root call visudo und verhindern, dass 'user' / sbin / halt ausführt:
quelle
Auf diese Weise besteht das Risiko: Oft gibt es Möglichkeiten, dieselbe Aktion auszuführen. Zum Beispiel führt Telnit 6 oder Init 6 auch einen Neustart durch. Möglicherweise gibt es eine Möglichkeit, den Kernel zum Core-Dump zu zwingen und auch neu zu starten.
quelle
In der folgenden Zeile sollte der Benutzer "jim" alles außer / usr / bin / kill und / usr / bin / su ausführen lassen.
quelle
Dies ist ungetestet und YMMV, aber wie wäre es, wenn Sie eine cmd_list der Befehle einrichten, die nicht ausgeführt werden sollen, und dann! Cmd_list für die angegebene Gruppe / den angegebenen Benutzer verwenden?
Ich habe keinen Zugriff, um dies zu testen, und habe mir gerade die Online- Handbuchseite im Sudoers-Handbuch angesehen, sodass mich einige Experten hier korrigieren, wenn ich falsch liege
quelle