¿Cuándo su y sudo usan contraseñas diferentes?

12

Puedo ejecutar cualquier cosa usando sudo; mi contraseña es aceptada Pero cada vez que intento hacerlo sudesde un shell, falla con:

su: contraseña incorrecta

Cuál puede ser el problema?

Lazer
fuente

Respuestas:

22

susignifica usuario sustituto y si se llama sin ningún argumento, se convertirá en superusuario. Por lo tanto, debe ingresar la contraseña de root.

Esto es un poco desagradable si muchas personas necesitan usar comandos para la administración del sistema o cosas similares con derechos de usuario extendidos. Simplemente no desea que las personas tengan derechos ilimitados al compartir la misma contraseña de root.

La solución para este tipo de problemas es sudo(" usuario sustituto "). Esto le permitirá especificar los comandos que alguien puede invocar y definir los permisos. Para sudousted no tiene que ingresar la contraseña de root, sino la contraseña del usuario que intenta invocar un comando sudo.

Algunas distribuciones tienen el usuario root deshabilitado por razones de seguridad. Esta podría ser una explicación de por qué no puede usar su. En ese caso, para obtener un shell con privilegios de root, utilice sudo -s;-)

echox
fuente
55
Se recomienda hacer ese último bit como sudo su -donde el guión significa establecer el entorno de acuerdo con el perfil de inicio de sesión del usuario (en este caso, la raíz). Esto generalmente ofrece un ligero aumento en la seguridad de la RUTA, pero aún no protege contraecho hi > /dev/my_critical_filesystem
msw
aaah olvidó este :-) gracias por la adición!
echox
@echox: Entonces, ¿hay alguna diferencia entre $ scripty $ sudo script? El usuario es el mismo en ambos casos.
Lazer
sudo allows a permitted user to execute a command as the superuser or another user, as specified in the sudoers file.- del hombre sudo. Por lo general, el script se invocará con privilegios de root. Esa es la diferencia.
echox
1
@Chris: desafortunadamente, eso es necesario si desea heredar todo el entorno del usuario raíz, incluida su RUTA. Por cierto, me acabo de enterar de que "sudo -s", que comenté anteriormente pero que he eliminado ahora, es más equivalente a "sudo su", sin el guión: sin cambios en CWD, sin cambios en PATH.
Warren Young
7

El comando su sin opciones, por defecto, le permitirá convertirse en el usuario root. No está pidiendo su contraseña, sino la contraseña de root.

El comando sudo siempre le pide su contraseña.

Matthew Brannigan
fuente
2
como nota al margen, si usa Ubuntu, de forma predeterminada tiene la contraseña de root bloqueada, por lo que es posible que no conozca la contraseña de root help.ubuntu.com/community/RootSudo
phunehehe
3
"El comando sudo siempre te pide tu contraseña". En realidad eso es configurable. También se puede configurar para solicitar la contraseña de root o la contraseña del usuario objetivo (o ninguna contraseña).
sepp2k