Isso está desabilitado por padrão no Ubuntu.
Leia seu /root/.bashrc
:
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
# . /etc/bash_completion
#fi
A conclusão do Bash é comentada . Aparentemente, há uma razão para isso que eu não estou ciente de (recuperação modo de usuário único, talvez?).
A razão pela qual ele funciona quando você faz sudo su
, sudo -s
, sudo bash
é que ele realmente não executa login
para fazer você root completamente. Ao executar sudo su -
ou sudo -i
, ele realmente registra você como usuário. Aqui, pelo exemplo da variável de ambiente $HOME
, mais dessa diferença:
gert@gert-laptop:~$ id
uid=1000(gert) gid=1000(gert) groups=1000(gert),4(adm),7(lp),24(cdrom),27(sudo),[...]
gert@gert-laptop:~$ echo $HOME
/home/gert
gert@gert-laptop:~$ sudo -s
root@gert-laptop:~# id
uid=0(root) gid=0(root) groups=0(root)
root@gert-laptop:~# echo $HOME
/home/gert
root@gert-laptop:~# exit
gert@gert-laptop:~$ sudo su -
root@gert-laptop:~# id
uid=0(root) gid=0(root) groups=0(root)
root@gert-laptop:~# echo $HOME
/root