Los valores predeterminados actuales para la cuenta de root en /etc/passwd
IS root:x:0:0:root:/root:/bin/bash
.
¿Por qué no configurarlo root:x:0:0:root:/root:/usr/sbin/nologin
?
Los valores predeterminados actuales para la cuenta de root en /etc/passwd
IS root:x:0:0:root:/root:/bin/bash
.
¿Por qué no configurarlo root:x:0:0:root:/root:/usr/sbin/nologin
?
Respuestas:
Si ese fuera el caso, solo podría ejecutar comandos con sudo
uno a la vez, pero no podría iniciar un shell raíz. Un shell raíz es conveniente en muchos casos, por ejemplo, si planea ejecutar múltiples comandos como root en una fila.
Específicamente, no se pudo ejecutar sudo -i
, como señaló AlexP. De man sudo
:
-i, --login Run the shell specified by the target user's password database entry as a login shell.
sudo /bin/bash
funciona para hacer eso?
sudo -s
creo (un shell de root, pero no un shell de inicio de sesión de root ). Sin embargo, es un buen punto, y de hecho sudo -s
parece funcionar incluso cuando la cáscara de la raíz lo está/usr/sbin/nologin
-i
, -s
, /bin/bash
, y así sucesivamente con sólo permitiendo una lista blanca de comandos, consulte la documentación para el archivo sudoers. Esto es tan fino que, por ejemplo, es posible permitir que los usuarios se ejecuten /etc/init.d/someservice restart
como root sin permitir que se ejecuten /etc/init.d/someservice stop
. Pero el valor predeterminado de ubuntu es simplemente no establecer una contraseña root
y permitir que los usuarios administradores hagan todo con sudo. Probablemente la razón es a) más de un usuario administrador yb) El usuario administrador no necesita recordar una segunda contraseña para la cuenta raíz.
Además de la respuesta de sudo de Alberto Santini, hay otra respuesta (mucho mejor). Si el shell de root está configurado en algo que no es un shell, el arranque de un solo usuario no funciona. Hay recuperación sulogin
para cosas como el shell no existente o el shell completamente roto, pero no funcionará si el shell parece ser un shell válido pero en realidad no es un shell.
Todavía puede sudo
obtener directamente un shell especificando el shell para sudo
que ni siquiera sea una buena protección.
sudo -i
?