Você precisa usar o traço como em:
sudo su - me
Dessa forma, você corre no ambiente me e não no ambiente de onde veio.
As pessoas geralmente querem preservar suas variáveis de ambiente durante a execução de sudo
por vários motivos, mas há alguns casos em que o descarte de variáveis de ambiente faz muito mais sentido. Por exemplo, no Ubuntu, $HOME
(juntamente com algumas outras variáveis) é transportado para o processo gerado como raiz; no entanto, isso não faz sentido ao tentar usar containers Linux.
É possível, obviamente, editar /etc/sudoers
para configurar esse comportamento, mas eu gostaria de manter esse comportamento e recorrer ao descarte de variáveis de ambiente apenas para determinados comandos. Existe um sinalizador -H
, mas isso é apenas para $HOME
e realmente não ajuda no meu caso, já que eu preciso remover todas as variáveis .
Como devo fazer isso?
Você precisa usar o traço como em:
sudo su - me
Dessa forma, você corre no ambiente me e não no ambiente de onde veio.