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

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>


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.


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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.