解決策 1:
secure_path
を置き換えて生活できる場合 値を追加する代わりに、はるかに簡単なソリューションを使用できます。通常、sudo には /etc/sudoers.d
のような構成ディレクトリがあります。 ここに追加の構成ファイルをドロップできます。
完全な secure_path
でファイルを作成するだけです 値:
Defaults secure_path="<default value>:/usr/local/bin"
これにより、メイン構成の値が上書きされます。パスの値がすべてのマシンで同じである場合、これはスクリプトまたはパッケージで簡単に展開できます。
これには、将来 sudo パッケージが更新されたときに、構成ファイルをチェックしたり、場合によってはマージしたりする必要がないという追加の利点があります。
解決策 2:
secure_path を含む行が存在することを知っていると仮定すると、これを行うための単純な sed コマンド
sed -i -e '/secure_path/ s[=.*[&:/usr/local/bin[' /etc/sudoers
またはもう少し洗練された (入力のより多くの構文チェック) :
sed -i -r -e '/^\s*Defaults\s+secure_path/ s[=(.*)[=\1:/usr/local/bin[' /etc/sudoers