Parece que esse bug existe há algum tempo! Aqui estão algumas referências de erros que você pode achar úteis (e podem se inscrever em / votar, dica, dica ...):
Bug Debian # 85123 ("sudo: SECURE_PATH ainda não pode ser substituído") (a partir de 2001!)
Parece que o Bug # 20996 ainda está presente nesta versão do sudo. O changelog diz que pode ser substituído em tempo de execução, mas ainda não descobri como.
Eles mencionam colocar algo assim no seu arquivo sudoers:
Defaults secure_path="/bin:/usr/bin:/usr/local/bin"
mas quando faço isso no Ubuntu 8.10, pelo menos, ele me dá este erro:
visudo: unknown defaults entry `secure_path' referenced near line 10
Bug no Ubuntu # 50797 ("o sudo construído com --with-secure-path é problemático")
Pior ainda, pelo que sei, é impossível respeitar novamente o secure_path no arquivo sudoers. Portanto, se, por exemplo, você deseja oferecer a seus usuários acesso fácil a algo sob / opt, você deve recompilar o sudo.
Sim. É necessário que haja uma maneira de substituir esse "recurso" sem precisar recompilar. Nada pior do que fanáticos de segurança dizendo o que é melhor para o seu ambiente e não dando a você uma maneira de desativá-lo.
Isso é realmente irritante. Pode ser prudente manter o comportamento atual por padrão por motivos de segurança, mas deve haver uma maneira de substituí-lo, além de recompilar a partir do código-fonte! Muitas pessoas precisam de herança PATH. Eu me pergunto por que nenhum mantenedor estuda, o que parece fácil de encontrar uma solução aceitável.
Eu trabalhei em torno disso assim:
mv /usr/bin/sudo /usr/bin/sudo.orig
em seguida, crie um arquivo / usr / bin / sudo contendo o seguinte:
#!/bin/bash
/usr/bin/sudo.orig env PATH=$PATH "$@"
então seu sudo regular funciona como o sudo de caminho não seguro
Bug no Ubuntu # 192651 ("o caminho do sudo é sempre redefinido")
Dado que uma duplicata desse bug foi originalmente arquivada em julho de 2006, não estou claro quanto tempo um env_keep ineficaz está em operação. Quaisquer que sejam os méritos de forçar os usuários a empregar truques como os listados acima, certamente as páginas de manual do sudo e sudoers devem refletir o fato de que as opções para modificar o PATH são efetivamente redundantes.
Modificar a documentação para refletir a execução real não é desestabilizador e é muito útil.
Bug no Ubuntu # 226595 ("impossível manter / especificar PATH")
Eu preciso ser capaz de executar o sudo com pastas binárias não-std adicionais no PATH. Depois de adicionar meus requisitos ao / etc / environment, fiquei surpreso quando recebi erros sobre a falta de comandos ao executá-los no sudo .....
Eu tentei o seguinte para corrigir isso sem sucesso:
Usando a sudo -E
opção " " - não funcionou. Meu PATH existente ainda foi redefinido pelo sudo
Alterar " Defaults env_reset
" para " Defaults !env_reset
" em / etc / sudoers - também não funcionou (mesmo quando combinado com sudo -E)
Não comentar env_reset
(por exemplo, " #Defaults env_reset
") em / etc / sudoers - também não funcionou.
Adicionar ' Defaults env_keep += "PATH"
' a / etc / sudoers - também não funcionou.
Claramente - apesar da documentação do homem - o sudo é completamente codificado em relação ao PATH e não permite nenhuma flexibilidade em relação à retenção do PATH dos usuários. Muito irritante, pois não consigo executar software não padrão sob permissões de root usando o sudo.