sudo vs su (como usuário não root)


10

Meu computador possui usuário1 e usuário2, ambos administradores.

Enquanto estou logado como usuário1, estou tentando:

  • "su - user2" -> solicita a senha do users2, então eu posso digitar comandos
  • "sudo --user = user2 [comando]" -> solicita a senha. Se eu digitar a senha do usuário2, recebo a mensagem "Desculpe, tente novamente". mensagem de erro como se a senha estivesse incorreta. Se eu digitar a senha do usuário1, ela será executada corretamente.

O comando sudo não deve exigir a senha do usuário que eu defino no parâmetro "--user"?


2
Sudo (superusuário do) está solicitando a palavra-chave do usuário que está chamando o comando sudo. Su (alternar usuário) está solicitando a senha do usuário que está sendo alternado.
Mr. Kennedy

Respostas:


21

Este é o comportamento esperado.

  • O objetivo de su é mudar de usuário. É chamada de ferramenta substituta de identidade do usuário. su usa a senha do outro usuário desde que você está alternando para esse usuário.

    O utilitário su solicita credenciais de usuário apropriadas via PAM e alterna para esse ID do usuário (o usuário padrão é o superusuário). Um shell é então executado.

    Fonte: Página do manual

  • O objetivo do sudo é executar um comando como outro usuário. A opção -uou --userpara sudo especifica esse usuário. Você não está efetuando login como usuário, apenas executando um comando. O sudo leva sua senha para verificar sua identidade para executar essa tarefa.


Portanto, se o usuário1 não estiver no arquivo sudoers, eu não seria capaz de sudo, apenas "su"?
31417 Pablo

11
@Pablo Isso é verdade
grg

@ Pablo "alternar usuário" versus "super usuário fazer". Um exige que você se autentique como outro usuário; o outro exige que você se autentique como superusuário.
Boris the Spider
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.