Cambia o elimina la contraseña root de Linux desde el GRUB

Cambia o elimina la contraseña root de Linux desde el GRUB

Alberto López

El uso de Linux como sistema operativo de nuestro equipo o servidor es, ya de por sí, un símbolo de seguridad. El uso de contraseñas Linux es el método más simple y popular para añadir seguridad a cualquier equipo, siempre teniendo presente las medidas básicas de seguridad de las contraseñas como la longitud, caracteres especiales y demás. Cuando se instala un sistema operativo Linux, se crea tanto el usuario administrador, el cual tiene más permisos que un usuario base, como el usuario root con el que hay que tener extremo cuidado, ya que posee todos los permisos para realizar acciones en el sistema como crear, editar o eliminar usuarios, aplicaciones etc. Si no tenemos experiencia en el uso y manejo de usuarios root, os recomendamos que leáis algo al respecto ya que, tomando decisiones equivocadas con los permisos de este usuario, pueden llegarse a dejar inservibles ciertos dispositivos.

Por ello, el trabajo de este usuario debe ser especialmente responsable, si por alguna razón deseamos acceder a Linux con este usuario root y hemos olvidado la contraseña, lo que pasa con más frecuencia de lo que pensáis, debemos seguir los pasos que aquí os daremos junto con los consejos necesarios para recuperar dicha contraseña, teniendo la opción de cambiarla o eliminarla sin ningún problema, ya que, con el uso de root es más simple ejecutar las tareas de soporte y administración en el sistema evitando el uso de «sudo» para dichas operaciones.

Qué es el GRUB y para qué sirve en Linux

El GRUB (GRand Unified Bootloader) es el cargador de arranque desarrollado por el proyecto GNU que nos permitirá elegir qué sistema operativo debe arrancar en el ordenador o en el servidor. Normalmente se utiliza en sistemas operativos basados en GNU/Linux, pero también es capaz de arrancar un sistema operativo Windows sin ningún problema. Otras características interesantes de GRUB es que admite comandos de configuración y puede cargar una configuración predeterminada, además, tenemos una interfaz de menú y también una línea de comandos para ejecutar lo que nosotros queramos, admite todos los sistemas de archivos que se usan actualmente, como BtfFS, cualquier versión de EXT y FAT, NTFS, ZFS y muchos otros. También es capaz de acceder a datos ubicados en cualquier dispositivo instalado, e incluso admite direccionamiento de bloque lógico (LBA) y arranque en red.

El GRUB es lo primero que se carga en el arranque del sistema, la BIOS o UEFI se encargará de buscar un dispositivo de inicio como el disco duro o SSD, y cargará el MBR con el GRUB en su interior. En la primera fase arrancará el GRUB básico, y se encargará de cargar el GRUB completo ubicada en cualquier parte del disco. Una vez que haya cargado, se presentará al usuario el menú de inicio, y podremos cargar el Kernel o el sistema operativo que nosotros deseemos.

¿Qué ocurre si olvido la clave de root en mi servidor?

La contraseña de administrador o root en un servidor con sistema operativo Linux no debemos olvidarla nunca, sin embargo, en el caso de que la hayamos olvidado o algún compañero de trabajo la haya cambiado y no tengamos la nueva, siempre podremos modificar o eliminar esta contraseña directamente desde el GRUB de arranque en nuestro sistema operativo. La contraseña de root siempre se almacena en local en un archivo en concreto, con el objetivo de poder autenticarnos cuando arranca el sistema operativo para acceder a él.

La ventaja de utilizar el GRUB para «recuperar» la contraseña es que es la forma más limpia de poder hacerlo sin necesidad de tener que formatear nuestro servidor y empezar desde cero. Además, también es la forma más rápida de hacerlo y no tendremos ningún tipo de pérdida de información. La desventaja de usar este método, es que cualquier usuario con acceso físico al servidor podría también resetear o borrar la contraseña de root de nuestro sistema operativo. Para evitar este tipo de problemas, es muy recomendable y necesario por seguridad, que el GRUB también tenga una contraseña de acceso, con el objetivo de evitar posibles problemas de seguridad y que alguien con acceso físico al servidor sea capaz de modificarnos nuestra contraseña de acceso.

Así puedes modificar o borrar la clave de root desde el GRUB

Si queremos recuperar la contraseña de root, o, mejor dicho, resetear esta contraseña, deberemos encender o reiniciar el sistema para acceder a la consola inicial de GRUB, la cual nos va a permitir iniciar el proceso de recuperación de contraseña y que cuando se despliega nos ofrece las siguientes opciones:

Para este caso seleccionamos la opción inicial, o bien entramos dentro de los diferentes kernel instalados.

Pulsamos la tecla «e» para acceder al editor de GRUB el cual tiene la siguiente apariencia. Allí usamos las flechas de desplazamiento de nuestro teclado paras ubicar la línea que inicia con «Linux» y al final de ella está el término «ro single«. Tenemos que cambiar la cadena «ro single» por «rw init=/bin/bash«. Debes acordarte quitar también el «single», ahora mismo en la siguiente captura está puesto si habéis seleccionado el kernel del modo recuperación.

Ahora debemos usar las teclas Ctrl + X o F10 para iniciar el modo de usuario simple (single-user) y una vez accedemos a la línea de consola ejecutamos el siguiente comando:

Lo que hará es cargar en modo lectura y escritura ejecutando el terminal bash, para resetear la contraseña de root. Esto nos permite habilitar permisos de escritura en el gestor de inicio del sistema, y poder realizar modificaciones en el sistema operativo.

Ejecutamos el popular comando:

passwd

Y podremos cambiar la contraseña del superusuario de manera fácil y rápida. Es en este paso cuando debemos elegir si queremos cambiar o eliminar la contraseña de root, ya que, si escribimos algo y aceptamos el texto, lo que hayamos escrito quedará como contraseña. En caso de querer eliminarla, no ingresaremos ningún texto y aceptaremos igualmente como nueva contraseña para el usuario root, después recibiremos la confirmación del cambio que acabamos de ejecutar, si hemos escrito algo será la nueva contraseña y si no hemos escrito nada, se eliminará la contraseña y no nos la solicitará a la entrada al root.


Después de esto podemos iniciar Linux de nuevo y acceder con el usuario root usando la contraseña que hemos establecido anteriormente, o accediendo directamente en caso de haberla borrado.

Con estos sencillos pasos lograremos cambiar o eliminar la contraseña de root, solo tenemos que fijarnos en lo que elegimos en el par de pasos intermedios, puesto que es lo más complicado de este método, el resto de pasos son sencillos y en pocos minutos podremos tener cambiada o eliminada nuestra contraseña root, desde aquí te recomendamos cambiarla, porque eliminarla puede ser altamente peligroso y muy poco recomendable.

¿Es esto un fallo de seguridad de Linux?

Por lo sencillo del método, parece que se puede acceder a cualquier sistema operativo Linux a través del cambio o eliminación de la contraseña de root. Sin embargo, debemos tener presente que es necesario estar físicamente en el ordenador o servidor, o al menos, tener una interfaz de administración con acceso físico al equipo, de esta forma, podremos acceder al root. No se puede hacer vía remota a través de protocolos como SSH o Telnet, solamente con acceso físico.

Si quieres evitar que alguien pueda realizar este método para cambiar o eliminar la clave de root, tendrás que incorporar una contraseña de autenticación en el GRUB, sin esta contraseña no podrás iniciar el GRUB y proceder con el paso. Otra forma es cifrar por completo la partición del sistema operativo con LUKS o similares, de esta forma, no se podrá acceder al cambio del sistema operativo si no conocemos esta contraseña de paso.