Lösung 1:
Wenn Sie damit leben können, secure_path
zu ersetzen value anstatt ihn anzuhängen, können Sie eine viel einfachere Lösung verwenden. Normalerweise hat sudo ein Konfigurationsverzeichnis wie /etc/sudoers.d
wo Sie zusätzliche Konfigurationsdateien ablegen können.
Erstellen Sie dort einfach eine Datei mit Ihren vollständigen secure_path
Wert:
Defaults secure_path="<default value>:/usr/local/bin"
Dies überschreibt den Wert aus der Hauptkonfiguration. Wenn der Pfadwert für alle Ihre Maschinen gleich ist, kann dies einfach mit Skripten oder einem Paket bereitgestellt werden.
Dies hat den zusätzlichen Vorteil, dass Sie bei zukünftigen Aktualisierungen des sudo-Pakets keine Konfigurationsdateien überprüfen und möglicherweise zusammenführen müssen.
Lösung 2:
Angenommen, Sie wissen, dass die Zeile mit secure_path existiert, ein einfacher sed-Befehl, um dies zu tun
sed -i -e '/secure_path/ s[=.*[&:/usr/local/bin[' /etc/sudoers
oder ein bisschen ausgefeilter (mehr Syntaxprüfung bei der Eingabe):
sed -i -r -e '/^\s*Defaults\s+secure_path/ s[=(.*)[=\1:/usr/local/bin[' /etc/sudoers