Sudo su vs su linux

24

Se eu digitar a senha para suquando solicitado, ela não funcionará enquanto sudo sufunciona. 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
agz
fonte

Respostas:

41

Isso suocorre porque solicita a senha do usuário para o qual você está mudando (que por padrão é root) enquanto sudosolicita a senha da sua própria conta de usuário e verifica se você tem permissão para executar o comando.

Quando você executa, sudo suvocê está pedindo sudopara executar o comando sucomo root, o que fornece o shell raiz. Se você estiver usando apenas su, precisará saber a senha do usuário de destino para ter acesso.

Usar sudosem parâmetros implica que você deseja usar o root. Se você deseja executar o comando como outro usuário, tentesudo -u <username> <command>

Renan
fonte
7
Uma outra informação importante para entender o comando relacionado sudo su otheruseré que supermite que o root mude para qualquer usuário sem inserir sua senha, enquanto usuários não raiz que executam suprecisam inserir a senha do usuário de destino. sudo suportanto, é executado sucomo root, o que permite que você obtenha um shell para outro usuário sem saber sua senha (desde que permitida por sudoers).
Lie Ryan
Então, qual seria a minha senha root para o comando "su"? Como é que não é a senha que defini no início da instalação?
AGZ
Porque sua distribuição provavelmente não a definiu. Você pode definir uma senha root em execução sudo passwd(primeiro forneça sua senha de usuário e escolha uma nova senha root).
Renan
Então, no momento, não há senha? ... então basicamente o root é apenas uma conta que os usuários do sudoers podem usar para fazer alterações nos arquivos raiz?
AGZ
não apenas isso, existem muitos outros serviços que precisam ser executados como root (verificação ps aux).
Renan
17

susignifica 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 digitar sudo su, você está solicitando a execução do comando para mudar para root como root ; portanto, a senha solicitada é sua.

ForeverWintr
fonte
1

... 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'.

Nevin Williams
fonte