sudo
特定の環境変数が指定されたコマンドに対してのみ保持されるように指定する方法はありますか?ある目的のために私は私の$HOME
環境が欲しい。特定のコマンドを実行すると、変数は保持されます。他の目的や他のコマンドのためにリセットしたいと思います。これは可能ですか/etc/sudoers
?
編集する:
回答ありがとうございます。 「それで、なぜこれがうまくいかないのか」という後続の質問をすることができるのだろうかと思いました。
開始したい例では、次のように私sudo nano
の$HOME/.nanorc
。
Defaults:simon env_keep=HOME
完璧に動作します。私がこれを使用している場合:
Defaults!/bin/nano env_keep=HOME
またはこれ:
Cmnd_Alias NANO = /usr/bin/nano,/bin/nano,/bin/rnano
Defaults!NANO env_keep=HOME
まったく動作しません。理由の提案がありますか? (しかし、Debian でテスト中です。)
(注:これは具体的ではないと思います。btw -nano
単純な1行のbashスクリプトで動作を再現できます)。echo
$HOME
ベストアンサー1
env_keep
/path/to/command
(すべてのユーザーがルールを介して呼び出す場合)およびユーザーjoe
(実行中のコマンドに関係なく)のみをオーバーライドします。
Defaults!/path/to/command env_keep=HOME
Defaults:joe env_keep=HOME
-=
またはを使用して、リスト+=
から項目を削除または追加できます。env_keep