sudo -s
Lê a variável $SHELL
e executa o conteúdo. Se $SHELL
contiver /bin/bash
, invoca sudo /bin/bash
. Portanto, /bin/bash
é iniciado como shell de não-login para que todos os arquivos de pontos não sejam executados, mas o próprio bash lê .bashrc
do usuário chamador. Seu ambiente permanece o mesmo. Sua casa não será a casa da raiz. Então você é root, mas no ambiente do usuário chamador.
sudo su -
su -
é invocado por sudo
. Ao contrário de sudo su
(comput o traço), o shell é chamado como um shell de login, portanto /etc/profile
, .profile
e .bashrc
são executados e você se encontrará no diretório inicial do root com o ambiente root.
Fontes: