¿Es posible cambiar el shell raíz del usuario?

¿Es posible cambiar el shell raíz del usuario?

Creo que me enfrento a un problema no tan común. escribí

chsh -s /bin/false root

y ahora no puedo iniciar sesión como root. ¿Existe alguna posibilidad de iniciar sesión root? Cuando intento el comando

chsh -s /bin/true root

Recibo una respuesta de que no puedo cambiar el shell rooty, por supuesto, cuando intento editar /etc/passwdwith nano, aparece un mensaje que indica que no tengo permiso para hacerlo.

Entonces, ¿hay alguna solución para poder iniciar sesión root?

Respuesta1

Haz un:

ssh root@localhost /bin/bash

No recibirá un indicador de shell. Sin embargo, si escribe ls y presiona Enter, verá el resultado. Luego puedes usar este comando sed para restablecer tu shell raíz:

/usr/bin/sed -i -e 's|^\(root.*:\)[^:]*$|\1/bin/bash|g' /etc/passwd

Según su distribución, el comando sed podría estar en /bin/sed.

Evidentemente se trata de una medida desesperada.

Respuesta2

Probablemente la salida más fácil sea iniciar el modo de rescate del medio de instalación y solucionarlo /etc/passwdde esa manera.

Respuesta3

sudo /bin/bashdebería hacer el trabajo. Ejecutarás bashcon privilegios de superusuario, por lo que editar /etc/passwdo ejecutar chshno debería ser un problema.

Respuesta4

Si no tiene Sudo instalado, puede instalarlo fácilmente y sudo /bin/bashdebería funcionar. Cualquier distribución de Linux puede usar sudo.

Además, si recibe una solicitud de contraseña, debe utilizar la autenticación de clave pública y luego habilitar sudo sin contraseña. usa esto para configurar esohttps://spinupwp.com/doc/passwordless-sudo/

Deberías utilizar la autenticación de clave pública ssh en este caso ^^.

información relacionada