Primeiro, não use sudo su
. Não é errado, ou perigoso ou qualquer coisa, é apenas deselegante e sem sentido . Você está executando dois programas separados para fazer um trabalho facilmente manipulado por um. Se você deseja iniciar um shell como root, sudo
pode fazer isso por você.
Se você quiser iniciar um shell de login (é o que faz o sudo su -
), use sudo -i
. Isso, no entanto, desde que ele inicia um shell de login, o levará ao diretório inicial do root por padrão.
Para iniciar um shell normal de não-login, você pode usar sudo -s
. Isso iniciará um shell raiz para você e manterá você no diretório em que você o executou:
terdon@tpad ~ $ pwd
/home/terdon
terdon@tpad ~ $ sudo -i ## changes directory
[root@tpad ~]# pwd
/root
[root@tpad ~]# logout
terdon@tpad ~ $ sudo -s ## doesn't change directory
[root@tpad terdon]# pwd
/home/terdon
Assim, a maneira de iniciar um shell de root e permanecer no mesmo diretório é sudo -s
.