Na solução de problemas vi
, notei na minha instalação do Ubuntu executando o comando sudo env | grep HOME
retorna o diretório inicial do usuário que executa o comando ( /home/USER
). Mas notei na minha instalação do Linux Mint executando o comando sudo env | grep HOME
returns /root
. Eu olhei /etc/sudoers
em ambos os computadores e eles são idênticos, exceto por uma Defaults mailto=
entrada. Ambos têm Defaults env_reset
. Como sudo
determina como definir a HOME
variável de ambiente? Eu vi em outro lugar ( https://unix.stackexchange.com/a/174587/471273 ) que sudo -V
informa quais variáveis de ambiente são preservadas, mas em ambos os computadores ele apenas informa a sudo
versão e os plug-ins com os quais foi instalado. Eu também vejo nosudo
man page esta seção que me faz pensar que preciso perguntar como visualizar a política de segurança que não sei como fazer.
-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.
Isso está causando problemas de carregamento .vimrc
quando executo vim
como sudo
. Eu poderia copiar .vimrc
para o /root
diretório, mas estou curioso sobre esse comportamento e sobre o sudo
.
O Ubuntu incluiu uma versão corrigida do sudo que preservou
$HOME
apóssudo
a preservação do ambiente alterado por volta de 2011 (tanto quanto eu posso dizer ... o changelog do sudo é uma bagunça). A maioria das outras distros não corrige isso . Mas no Ubuntu 19.10 eles mudaram para o comportamento upstream , então é interessante que sua máquina Ubuntu ainda tenha o comportamento antigo (a menos que você não tenha atualizado há muito tempo ou tenha substituído isso em algum lugar).