Não entendi bem a diferença entre sudo -i e sudo su. Poderia dar algum exemplo? Posso usar ambos de qualquer forma?
Não entendi bem a diferença entre sudo -i e sudo su. Poderia dar algum exemplo? Posso usar ambos de qualquer forma?
Oi Marcelo,
A diferença entre sudo -i
e sudo su
está principalmente no ambiente que cada comando proporciona.
sudo -i
: Este comando inicia uma nova sessão de shell como root e carrega o ambiente de login do usuário root. Isso significa que variáveis de ambiente do root serão carregadas, como o $HOME
, que apontará para o diretório home do root.
sudo su
: Este comando também troca para o usuário root, mas não necessariamente carrega o ambiente de login. Isso pode resultar em algumas diferenças nas variáveis de ambiente. Por exemplo, o diretório home ainda pode ser o do usuário atual.
Exemplo prático:
sudo -i
, você pode verificar qual é o diretório home com echo $HOME
, e isso mostrará /root
.sudo su
, o mesmo comando echo $HOME
mostrará o diretório home do usuário que executou o comando, em vez de /root
.Ambos os comandos permitem que você execute comandos como root, mas sudo -i
é mais comum quando você precisa de um ambiente de login completo do root. Use sudo su
quando precisar apenas de permissões de root sem mudar o ambiente.
Em resumo, escolha entre os dois com base na necessidade de carregar ou não o ambiente de login do root.