sudo vs su (como usuario no root)

10

Mi computadora tiene user1 y user2, ambos administradores.

Mientras estoy conectado como usuario1 intento:

  • "su - user2" -> me solicita la contraseña de users2, luego puedo escribir comandos
  • "sudo --user = user2 [command]" -> me solicita la contraseña. Si escribo la contraseña de user2 me sale un "Lo siento, inténtalo de nuevo". mensaje de error como si la contraseña es incorrecta. Si escribo la contraseña de usuario1 se ejecuta correctamente.

¿No debería el comando sudo requerir la contraseña del usuario que defino en el parámetro "--user"?

Pablo
fuente
2
Sudo (super user do) está pidiendo la palabra del usuario que invoca el comando sudo. Su (cambiar de usuario) está pidiendo la contraseña del usuario al que se está cambiando.
Sr. Kennedy el
Ver también: apple.stackexchange.com/q/49873/216401
Mr.Kennedy

Respuestas:

21

Este es el comportamiento esperado.

  • El propósito de su es cambiar de usuario. Se llama la herramienta de identidad de usuario sustituto. su toma la contraseña del otro usuario ya que está cambiando a ese usuario.

    La utilidad su solicita las credenciales de usuario adecuadas a través de PAM y cambia a esa ID de usuario (el usuario predeterminado es el superusuario). Luego se ejecuta un shell.

    Fuente: página de manual

  • El propósito de sudo es ejecutar un comando como otro usuario. La opción -uo --userpara sudo especifica ese usuario. No está iniciando sesión como ese usuario, solo está ejecutando un comando. sudo toma su contraseña para verificar su identidad para realizar dicha tarea.

grg
fuente
Entonces, si user1 no está en el archivo sudoers, ¿no podría sudo, solo "su"?
Pablo
1
@Pablo Eso es cierto
grg
@Pablo "cambiar usuario" versus "super usuario hacer". Uno requiere que se autentique como el otro usuario; el otro requiere que se autentique como superusuario.
Boris the Spider