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).sudo passwd
(primeiro forneça sua senha de usuário e escolha uma nova senha root).ps aux
).su
significa s witch (ou s ubstitute) u ser. Sem nome de usuário, o padrão é alternar para raiz. Ele solicita a senha do usuário para o qual você está alternando.sudo
é usado para executar um comando como root (ou seja, com permissões de root) ou como outros usuários. Ele solicita sua senha e verifica se você tem permissão para usar o sudo.Ao digitar
su
, você está pedindo para mudar para root, e a senha solicitada é a senha root. Ao digitarsudo su
, você está solicitando a execução do comando para mudar para root como root ; portanto, a senha solicitada é sua.fonte
... e para corrigir o problema de não poder usar 'su' sozinho, sudo para um shell raiz e defina uma senha para root, com 'chpass'.
fonte