diferença entre o comando de execução root como sudo vs não usando sudo?

2

Eu tenho uma questão sobre o Linux no comando sudo e no usuário root. Se eu fizer login no usuário root usando o comando su , qual é a diferença entre os dois comandos a seguir?

root> sudo ./some_executable

e

root> ./some_executable

existe alguma diferença? Eu estou tentando usar um executável e notei que o executável funciona bem com o primeiro comando, mas falha para o segundo comando afirmando que não estou executando o comando como root. Eu sempre pensei que os comandos sudo / su permitem que você execute comandos com privilégios de root e, assim, fazer o primeiro comando seria redundante. No entanto, eu notei que o usuário root está no arquivo sudoers, então eu não sabia se isso é um bug no executável ou se realmente há uma diferença entre executar um comando logado como root vs usando o sudo?

    
por user972276 18.02.2014 / 03:49

1 resposta

5

Suas variáveis de ambiente serão diferentes para as duas instâncias.

o sudo estará redefinindo algumas de suas variáveis de ambiente - leia a man page do sudo e veja a opção -E , bem como a seção sobre o arquivo de configuração do sudoers.

Além disso, o uso de su e não su - para obter raiz significa que você não possui um ambiente raiz verdadeiro ao executar o arquivo diretamente.

Em resumo, você tem uma incompatibilidade de ambiente entre as duas situações, fazendo um trabalho quando o outro não funciona.

    
por 18.02.2014 / 06:54

Tags