Alles ist eine potenzielle Sicherheitslücke. Zwei Dinge:
Sind Sie sicher, dass es root braucht? Warum? Können Sie das stattdessen mit Fähigkeiten tun? (Sie können wahrscheinlich.)
Davon abgesehen ist Ihr Beispiel fast genau richtig. Fügen Sie hinter dem Pfad ein Sternchen hinzu:
Cmnd_Alias WEB_COMMANDS = /path/to/scripts/*
Und jetzt wird es funktionieren. Aber Achtung, falls eines dieser Skripte von einem Angreifer geändert werden kann, erhält der Angreifer vollen Zugriff auf die Root-Berechtigung . Sie können einfach exec('/bin/bash')
und haben eine Schale. Definieren Sie auf jeden Fall die Funktionen per Skript, wenn möglich, und sperren Sie das Skriptverzeichnis DEFINITEL auf die eine oder andere Weise. In dieser Antwort von unix.se finden Sie Informationen zum Verwalten von Funktionen mit Skripts.