Por que o sudo env não está mostrando todas as variáveis de ambiente?

3

Eu tenho uma variável definida em um arquivo de script em /etc/profile.d/somescript.sh Eu modifiquei o / etc / sudoers e adicionei o usuário "ansible" ao arquivo sudoers assim:

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

Por que a primeira linha não produz nada? por que "sudo env" não está mostrando todas as variáveis de ambiente (apenas parcial)?

[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

Solução para o que eu preciso é colocar um     alias sudo="sudo -i" em ~ / .bashrc de root e também o usuário ansible.

    
por ady8531 19.05.2015 / 10:26

1 resposta

1

Tente usar o parâmetro -E em 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.
    
por 19.05.2015 / 10:35