Isso é realmente dependente da configuração . Há uma opção env_reset em sudoers que, combinada com env_check e env_delete , controla se é necessário substituir, estender ou passar por algumas ou todas as variáveis de ambiente, incluindo PATH .
O comportamento padrão é ter env_reset ativado e redefinir PATH . O valor PATH está definido para poder ser controlado com a opção secure_path e, caso contrário, é determinado pela configuração do usuário.
Você pode desabilitar env_reset ou adicionar PATH a env_keep para alterar esse comportamento, mas observe que pode não ter o efeito desejado em geral - geralmente há diretórios ( sbin ) em PATH da raiz que não estão no seu usuário. Você pode ativar setenv para permitir a substituição do ambiente para uma única execução de sudo usando a opção -E para sudo .
Tudo isso pode ser alterado na configuração padrão da sua distribuição. Execute sudo visudo para ver o que está no seu arquivo sudoers .
Existem abordagens alternativas. Uma delas é usar a configuração de variável de ambiente incorporada de sudo ou env :
sudo PATH="$PATH" command ...
sudo env PATH="$PATH" command ...
executará apenas este comando com o PATH do seu usuário atual. Você pode definir outras variáveis também da mesma maneira, o que geralmente é útil. Um ou outro desses pode não ser permitido pela sua configuração.