Comando sendo executado como root, mas não com sudo

1

Atualmente estou configurando um Samba 4 DC no CentOS 7.

Como eu, o samba-tool é executado corretamente, mas quando executo sudo samba-tool , obtenho command not found .

samba-tool está localizado em /usr/local/samba/bin . Eu adicionei o diretório ao PATH para mim e para o root.

Como eu, env | ^PATH= inclui corretamente o diretório acima. No entanto, sudo env | ^PATH= mostra apenas PATH=/sbin:/bin:/usr/sbin:/usr/bin .

Mudando agora para o usuário root. env | ^PATH= retorna PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/samba/bin:/usr/local/samba/sbin e samba-tool é executado corretamente.

Foi minha intuição que o sudo perfeitamente espelhou o usuário root, o que eu acho que não é o caso. Uma correção e esperamos que uma explicação seja muito apreciada.

    
por Oliver Benning 27.06.2017 / 14:35

1 resposta

1

Pode ser que o seu sudo use PATH definido no arquivo /etc/sudoers , não o PATH da raiz. Verifique man 5 sudoers , procure a opção secure_path .

Você também pode ler o Como tornar sudo preserve $ PATH?

Dica: use visudo para editar /etc/sudoers . A ferramenta faz alguma verificação de integridade e pode salvar você da situação quando perder o acesso do sudo devido à edição inválida.

    
por 27.06.2017 / 14:50