Sudo su vs su linux

24

Se eu inserir a senha para su quando solicitado, ela não funcionará enquanto sudo su . Além disso, quando um comando é executado usando sudo (command) , o sudo o executa automaticamente pela raiz por padrão (já que a página man diz sudo, 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
    
por agz 25.04.2013 / 04:07

3 respostas

41

Isso porque su solicita a senha do usuário que você está alterando (que por padrão é root), enquanto sudo solicita a senha da sua conta de usuário e verifica se você tem permissão para executar o comando.

Quando você executar sudo su , estará pedindo a sudo para executar o comando su as root, que fornece o shell raiz. Se você estiver usando apenas su você terá que saber a senha do usuário alvo para ter acesso.

Usar sudo sem parâmetros significa que você deseja usar o root. Se você quiser executar o comando como outro usuário, tente sudo -u <username> <command>

    
por 25.04.2013 / 04:16
17

su significa s bruxa (ou s ubstitute) u ser. Sem nenhum nome de usuário, o padrão é alternar para root. Ele solicita a senha do usuário que você está mudando.

sudo é usado para executar um comando como raiz (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.

Quando você digita su , está pedindo para mudar para root, e a senha solicitada é a senha do root. Quando você digita sudo su , você está pedindo para executar o comando para mudar para root como root , então a senha solicitada é sua.

    
por 25.04.2013 / 04:18
1

... e para corrigir o problema de não ser capaz de usar 'su' sozinho, sudo para um shell de root e definir uma senha para root, com 'chpass'.

    
por 25.04.2013 / 19:59