sudo envがすべての環境変数を表示しないのはなぜですか?

sudo envがすべての環境変数を表示しないのはなぜですか?

/etc/profile.d/somescript.shのスクリプトファイルに変数を設定し、/etc/sudoersを変更し、次のようにsudoersファイルに "ansible"ユーザーを追加しました。

Defaults !env_reset
ansible    ALL=(ALL) NOPASSWD:   ALL

最初の行から何も出力されないのはなぜですか? 「sudo env」がすべての環境変数(一部のみ)を表示しないのはなぜですか?

[ansible@ACEPP-LM-01 ~]$ sudo env | grep ENV
[ansible@ACEPP-LM-01 ~]$ sudo echo $ENV
PP
[ansible@ACEPP-LM-01 ~]$ echo $ENV
PP
[ansible@ACEPP-LM-01 ~]$ env | grep ENV
ENV=PP

私にとって必要な解決策は、rootとユーザーのansibleに対して〜/.bashrcにエイリアスsudo = "sudo -i"を配置することでした。

ベストアンサー1

-E次のパラメータを試してくださいsudo

-E, --preserve-env
             Indicates to the security policy that the user wishes to pre‐
             serve their existing environment variables.  The security
             policy may return an error if the user does not have permis‐
             sion to preserve the environment.

おすすめ記事