Em um ambiente Linux, os comandos sudo -i e sudo -su são usados para ganhar privilégios de superusuário (ou de outro usuário), mas têm diferenças sutis mas importantes no comportamento, especialmente no que diz respeito ao ambiente de shell.
sudo -i
Significa: "login shell do root"
Comportamento:
- Simula um login completo como o usuário root.
- Carrega os arquivos de configuração de ambiente do root, como:
- /root/.profile
- /root/.bashrc
- /root/.bash_profile
- Muda o diretório atual para o home do root (/root).
É equivalente a fazer su - (com o traço), que também inicia um shell de login.
Uso típico:
sudo -i
Quando usar:
Quando você quer operar como root com o ambiente completo de root, como se tivesse feito login como root.
sudo -su
Significa: "start a shell como o usuário especificado"
Comportamento:
- Abre um novo shell com os privilégios do usuário especificado, por padrão o root.
- Não carrega o ambiente de login completo do usuário.
- Mantém o diretório atual.
- Usa o ambiente do usuário atual, a menos que você o sobrescreva.
Uso tipico:
sudo -su
Quando usar:
Quando você só precisa executar comandos como root, mas quer manter o ambiente atual.
Comente ai se já conhecia estas diferenças.
Bons estudos.