Wie in sudoers bestimmte Eingaben überprüft werden, die dem Skript hinzugefügt werden

0

Ich habe ein Skript, das als Eingabe-IP-Adresse verwendet wird. Meine Frage ist, kann ich in sudoers angeben, welche Eingaben zu meinem Skript hinzugefügt werden können. Jetzt mache ich das so:

 user ALL = !ALL, /bin/sh, /home/user/scripts/addIP.sh *

aber das erlaubt jede Eingabe, kann ich das spezifizieren? Ich versuche das:

 ussshnode ALL = !ALL, /bin/sh, /home/ussshnode/node_2fa_prod/scripts/addIP.sh [0-9]+.[0-9]+.[0-9]+.[0-9]+

aber es funktioniert nicht richtig. Einige Vorschläge?

Cyprian
quelle

Antworten:

0

1) Die Platzhalter für die Befehlsspezifikation enthalten kein "+" - Zeichen, aber die folgende Syntax wird Ihre Erwartungen erfüllen, denke ich:

addIP.sh [0-9]*.[0-9]*.[0-9]*.[0-9]*

2) Es ist vorzuziehen, sudo'ed-Binärdateien / Skripte so zu platzieren, dass sie nur von root geschrieben werden können.

3) Ich denke, das anfängliche "! ALL" in Ihrer Befehlsspezifikation ist nutzlos, und die Aufnahme von / bin / sh in sudoable-Befehle ermöglicht es Ihrem Benutzer, alles als root auszuführen, sobald es in ein Skript eingebettet ist ...

=> also würde ich es so schreiben (und das Skript in den angegebenen Pfad setzen):

user ALL = /usr/local/scripts/addIP.sh [0-9]*.[0-9]*.[0-9]*.[0-9]*
tonioc
quelle