Por que a senha 'sudo' é diferente da senha 'su root'?

9

Na minha máquina pessoal, geralmente eu digito sudo na frente de certos comandos para realizar tarefas administrativas. Eu esperava evitar fazer isso ao longo do dia, digitando su root e fornecendo a mesma senha que normalmente faço para sudo . No entanto, as duas senhas não são as mesmas (não sei como fazer login no su root ). Está executando um comando com sudo diferente de efetuar login com su root e executando o mesmo comando?

Acho que sudo e su root são os mesmos, porque quando eu digito sudo whoami , recebo root , em vez de apenas whoami onde recebo meu nome de usuário.

    
por Trevor Hickey 19.01.2014 / 00:53

4 respostas

16

Ao contrário do que seu uso mais comum levaria a pensar, su e sudo não servem apenas para efetuar login (ou executar ações) como raiz.

su permite que você mude sua identidade com a de outra pessoa. Por esse motivo, quando você digita su , o sistema precisa verificar se possui as credenciais do usuário de destino que você está tentando alterar.

sudo é um pouco diferente. Usar sudo permite que você execute determinados comandos (ou todos, dependendo da configuração) como outra pessoa. Sua própria identidade é usada para determinar quais tipos de comandos sudo serão executados para você sob a identidade de outra pessoa: se você for um usuário confiável (no sentido de que o administrador do sistema confia em você), será permitido mais liberdade de ação digamos, um estagiário. É por isso que sudo precisa verificar sua própria identidade e não a do usuário alvo.

Em outras palavras, tentar su com alguém que você não é é como tentar cobrar suas compras com um cartão de crédito roubado enquanto usar sudo é como vender o carro do seu amigo por procuração legal.

Quanto ao que você estava tentando fazer, apenas sudo su root ou simplesmente mais sudo su e digite sua senha de usuário comum. Isso equivaleria a substituir as credenciais do cartão de crédito do seu amigo pelo seu próprio usando o proxy legal que eles lhe deram :). É claro que a configuração sudo permite que você execute su com privilégios escalados.

Além disso, os sistemas que vêm pré-configurados com sudo geralmente têm a conta root desativada (sem senha root), você pode habilitar isso usando o comando passwd depois de se tornar root via sudo su .

    
por 19.01.2014 / 02:05
3

sudo é usado para encaminhar temporariamente as permissões do usuário para o nível raiz, enquanto su root é usado para criar um novo shell com raiz como usuário;

    
por 19.01.2014 / 01:09
2

É configurável * mas, por padrão, o "sudo" pede sua senha. É só tentar ter certeza de que é você, não alguém usando o teclado enquanto você toma café.

Por outro lado, "su root" pede a senha do root.

* Se targetpw em / etc / sudoers for falso (padrão), "sudo" pede sua senha. Se for verdade, então "sudo" pede a senha de root ou, se você especificou algum outro usuário com a opção "-u", a senha daquele usuário.

    
por 19.01.2014 / 01:06
1

Para o benefício de alguns recém-chegados nessa pesquisa, há um método simples de ir para a raiz até você sair:

     sudo -iE

O manterá interativo e manterá seu ambiente, mas agora, como root.

    
por 18.08.2017 / 13:36