Řešení 1:
Pokud můžete žít s nahrazením secure_path
hodnotu namísto jejího připojování, můžete použít mnohem jednodušší řešení. Sudo má obvykle konfigurační adresář jako /etc/sudoers.d
kde můžete přetáhnout další konfigurační soubory.
Stačí tam vytvořit soubor s kompletním secure_path
hodnota:
Defaults secure_path="<default value>:/usr/local/bin"
Tím se přepíše hodnota z hlavní konfigurace. Pokud je hodnota cesty stejná pro všechny vaše počítače, lze ji snadno nasadit pomocí skriptů nebo balíčku.
To má další výhodu v tom, že při budoucí aktualizaci balíčku sudo nemusíte kontrolovat a případně slučovat konfigurační soubory.
Řešení 2:
za předpokladu, že víte, že existuje řádek s secure_path, stačí k tomu jednoduchý příkaz sed
sed -i -e '/secure_path/ s[=.*[&:/usr/local/bin[' /etc/sudoers
nebo trochu sofistikovanější (více kontrola syntaxe na vstupu):
sed -i -r -e '/^\s*Defaults\s+secure_path/ s[=(.*)[=\1:/usr/local/bin[' /etc/sudoers