Qual é a diferença entre sudo su - e sudo -i?

4

Entendo que eles fazem o mesmo: eles pedem minha senha (se eu tiver permissão em / etc / sudoers), e me dão um shell de login como root.

Existe alguma diferença entre eles?

sudo su -
sudo -i

Além disso, qual é a diferença entre

sudo su
sudo -s

Acho que ambos pedem minha senha e me dão um shell com minhas variáveis de ambiente antigas.

    
por Andres Riofrio 19.06.2011 / 22:03

1 resposta

4

Há pouca diferença nos pares de comandos sobre os quais você está se perguntando.

O primeiro par tenta simular um novo login como novo usuário - pode haver alguma diferença nas variáveis ambientais fornecidas, pois sudo su - tentará preservar as variáveis ambientais existentes, enquanto sudo -i definirá muito variáveis ambientais específicas e tira todas as outras (verifique suas páginas de manual para detalhes).

Para o segundo par, a diferença de comportamento é a seguinte: sudo su sempre iniciará o shell listado no usuário /etc/passwd , enquanto sudo -s verificará primeiro a variável SHELL do ambiente e só executará o shell em /etc/passwd se SHELL não estiver definido.

    
por 19.06.2011 / 22:22