Valores padrão não documentados para a variável env_keep dos sudoers

0

Estou com um comportamento estranho.

Meu arquivo sudoers é muito curto e se parece com isso:

Defaults    env_reset
Defaults    mail_badpass
Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
root    ALL=(ALL:ALL) ALL
%admin ALL=(ALL) ALL
%sudo   ALL=(ALL:ALL) ALL

(Note que é o Ubuntu 13.10 com um kernel 3.12 backported)

Com esses sudoers, quando eu faço sudo env , recebo quase todo o ambiente do meu usuário desprivilegiado, incluindo http_proxy e https_proxy . Agora, se eu acrescentar esta linha ao arquivo, o ambiente será removido como o inferno:

Defaults env_keep="http_proxy"

Minha aposta é que existe um valor padrão para env_keep que retém a maior parte do que está definido no meu ambiente e que defini-lo sem env_keep+= o apaga.

Ou isso é um bug sudo que eu devo enviar?

    
por mveroone 16.04.2014 / 10:19

1 resposta

0

Após solucionar problemas e discutir o assunto com Bob no Chat de Acesso à Raiz , descobrimos que, de fato, env_keep possui valores padrão não documentados.

Extraia do manpage do sudo:

     -V          The -V (version) option causes sudo to print its version string and the ver‐
                 sion string of the security policy plugin and any I/O plugins.  If the invok‐
                 ing user is already root the -V option will display the arguments passed to
                 configure when sudo was built and plugins may display more verbose informa‐
                 tion such as default options.
user@host $: sudo sudo -V : 
[...]
Environment variables to preserve: 
XAUTHORIZATION 
XAUTHORITY 
TZ 
PS2 
PS1 
PATH 
LS_COLORS 
KRB5CCNAME 
HOSTNAME 
HOME 
DISPLAY 
COLORS
[...]

Se você definir env_keep sem anexá-lo, ele substituirá esses valores. Então use Defaults env_keep +="values"

    
por 16.04.2014 / 13:47

Tags