Por que o sudo -H não está configurando a variável HOME?

0

Acabei de começar a usar o Manjaro (baseado no Arch Linux) e me deparei com uma coisa interessante:

$ sudo env | grep HOME
HOME=/root
$ sudo -H env | grep HOME
HOME=/root

Eu examinei a página de manual para sudo e verifiquei se meu diretório pessoal está definido corretamente em /etc/passwd . Com base em meu entendimento, a saída para o segundo dos comandos acima deve ser /home/laurence . O que estou perdendo?

    
por the.laurence 15.02.2018 / 00:19

1 resposta

3

A página man para sudo escreve,

-H, --set-home Request that the security policy set the HOME environment variable to the home directory specified by the target user's password database entry. Depending on the policy, this may be the default behavior.

A chave aqui é que -H define o diretório inicial do usuário alvo . Quando você chama sudo env , o usuário de destino é inferido como sendo root . (Se você usou algo como sudo -u john -H env , você obteria o diretório home para john .)

    
por 15.02.2018 / 00:25

Tags