Você pode fazer o seguinte para todos os usuários ou um determinado usuário wobble
no entanto, aplica-se a todos os comandos sudo -u anyuser
. Edite o arquivo /etc/sudoers
e adicione uma linha como
Defaults env_keep+="PATH JAVA_HOME"
para todos os usuários ou
Defaults:wobble env_keep+="PATH JAVA_HOME"
para apenas wobble, com todas as variáveis que você deseja manter. Na verdade, PATH
geralmente é um caso especial e é redefinido, portanto, talvez seja necessário cancelá-lo com uma entrada como
Defaults:wobble !secure_path, env_keep+="PATH JAVA_HOME"
Obviamente, esses recursos estão lá por um bom motivo, então tome cuidado.
Há também a capacidade de preservar o ambiente com sudo -E
, que pode ser permitido por uma entrada de sudoers como:
wobble ALL = (wibble) SETENV: ALL
mas isso ainda irá redefinir o caso especial PATH, embora você possa executar comandos como
sudo -E PATH=$PATH -u wibble ...