Se eu digitar a senha para su
quando solicitado, ela não funcionará enquanto sudo su
funciona. Além disso, quando um comando é executado usando sudo (command)
, o sudo o executa automaticamente por root por padrão (já que a página de manual dizsudo, sudoedit - execute a command as another user
michaelxu@michaelxu-server:~$ su
Password:
su: Authentication failure
michaelxu@michaelxu-server:~$ sudo su
[sudo] password for michaelxu:
root@michaelxu-server:/home/michaelxu# exit
sudo su otheruser
é quesu
permite que o root mude para qualquer usuário sem inserir sua senha, enquanto usuários não raiz que executamsu
precisam inserir a senha do usuário de destino.sudo su
portanto, é executadosu
como root, o que permite que você obtenha um shell para outro usuário sem saber sua senha (desde que permitida por sudoers).