Wie kann der Benutzer die iptables-Regeln ändern?

0

Ich entwickle gerade eine Anwendung, in der Befehle automatisch ausgeführt werden können mehrere Server.

Wenn ich eine Dienstkonfiguration ändere, muss ich sie neu starten (oder neu laden). Für einige Befehle ist eine Root-Berechtigung erforderlich. Damit es funktioniert, habe ich das Passwort des Benutzers verschlüsselt und in einer Textdatei gespeichert, um es bei sudo-Befehlen zu verwenden. Ich glaube, dass dies eine große Bedrohung ist, aber ich wollte auch nicht, dass die Anwendung mit Root-Berechtigung ausgeführt wird.

Irgendwelche Ideen?

Daniel Camargo
quelle

Antworten:

2

Sie können einschränken, welche Befehle der Benutzer ausführen darf sudo . Sie könnten auch eine NOPASSWD Option in Sudoer Datei im Kontext dieses Benutzers statt das verschlüsselte Kennwort "Feature" zu verwenden.

Hier ist ein Beispiel dafür, wie ein nicht privilegierter Benutzer den Neustart der iptables Bedienung:

geewid  ALL = (root) NOPASSWD: /sbin/service iptables restart, /sbin/service iptables reload

Die Befehlsliste ist kommagetrennt ...

Sie könnten auch verwenden Cmnd_Alias Merkmal:

Cmnd_Alias FOOBAR = /sbin/service iptables restart, /sbin/service iptables reload
geewid  ALL = (root) NOPASSWD: FOOBAR
geewid
quelle
1
Genau das habe ich gesucht.
Daniel Camargo
1
Großartig ... Ich habe die Antwort so bearbeitet, dass sie Ihnen das zeigt Cmnd_Alias Teil.
geewid