===== Conseguir root en sistemas GNU/Linux con GRUB sin tener la password (rootear) =====
==== Mayoría de distribuciones de GNU/Linux ====
Entrar en Grub y pulsar la tecla ESC.\\
Pulsar la tecla "e".\\
En la linea del kernel agregar "init=/bin/bash". Si se desea se puede probar antes simplemente agregando "single", ya que dependiendo de la distro, esta puede o no pedir contraseña (mirar /etc/inittab).
Suponiendo que la password es solicitada, se debe indicar que en el inicio se ejecute una terminal, para el ejemplo Bash.
"Linux boot /init.... ro init=/bin/bash "
Pulsar "//Cntrl + x//"\\
Remontar el sistema de ficheros raíz del GNU/Linux instalado, cambiar la password y reiniciar el sistema.
mount -o remount,rw /dev/sdaX /
passwd
reboot
==== Rootear sistemas RedHat / CentOS / Derivados ====
Para esta familia de sistemas es suficiente con entrar en el modo "single user", a diferencia de otros sistemas no pedirá password y no es necesario por tanto impedir que init arranque.
**CentOS =< 6.X**
Entrar en Grub y pulsar la tecla "//a//".
Agregar un espacio y un "1" al final de la linea para posteriormente pulsar la tecla "enter".
... rhgb quiet 1
¿De qué depende el uso de contraseña en el modo single?
Fichero /etc/inittab. S = 1 = single.
~~:S:wait:/sbin/sulogin
Si se desea que el sistema solicite o no una password al entrar en el modo single, se debe agregar o comentar dicha linea en el fichero inittab.
**CentOS >= 7.X**
Metodo 1: Si NO se conoce la password de root.
- Pulsar la tecla "e" posicionada sobre la linea que queremos utilizar.
- Buscar la entrada que compienza con "linux16"
- Modificar "ro" por "rw init=/sysroot/bin/sh"
- Pulsar CTRL-X o F10 para arrancar con las opciones especificadas.
- Una vez se muestra la terminal, se debe ejecutar el comando chroot.
chroot /sysroot
Método 2: Si NO se conoce la password de root.
- Pulsar la tecla "e" posicionada sobre la linea que queremos utilizar.
- Buscar la entrada que compienza con "linux16"
- Modificar "rhgb quiet" por "init=/bin/sh"
- Pulsar CTRL-X o F10 para arrancar con las opciones especificadas.
- Una vez se muestra la terminal, se debe remontar la partición raiz con permido de escritura.
mount -o remount,rw /
# exec /sbin/init 6" # Reiniciar.
Método 3: Si se conoce la password de root, se puede usar el modo de emergencia para tareas de rescate. Útil cuando se necesita reparar algo y el sistema no arranca correctamente. Lógicamente no sirve para recuperar la password de root ya que es necesaria para ingresar en este modo.
- Pulsar la tecla "e" posicionada sobre la linea que queremos utilizar.
- Buscar la entrada que compienza con "linux16"
- Al final de la linea agregar "systemd.unit=rescue.target"
- Pulsar CTRL-X o F10 para arrancar en el modo single.
==== Ubuntu ====
Si no se muestra el menú de Grub en el arranque, se debe dejar pulsada la tecla Esc durante el arranque.
**Opción 1**
* Pulsar la letra "e" y buscar la linea que empieza con "linux" para agregar al final "init=/bin/bash".
* Pulsar "X" o "F10" para arrancar el sistema y obtener la terminal con root.
# Remontar el sistema de ficheros como lectura y escritura.
mount -n -o remount,rw /
* Utilizar el comando passwd para reiniciar la contraseña.
**Opción 2** (De debe tener activo el usuario root y conocer la password).
* Dentro de Grub, dirigirse a un modo de recuperación, puede que se encuentre en opciones avanzadas.
* Seleccionar la opción "Drop to root shell prompt".
# Remontar el sistema de ficheros como lectura y escritura.
mount -n -o remount,rw /
* Utilizar el comando passwd para reiniciar la contraseña.
==== Método estándar con LiveCD ====
- Identificar el disco / partición donde se tiene GNU/linux con por ejemplo "fdisk-l"
- Montar la partición en /mnt: "mount /dev/sda1 /mnt"
- Montar ahora el sistema de ficheros del disco como si fuera el del liveCD.
for d in dev sys run proc; do sudo mount --bind /$d /mnt/$d; done
- Nos enjaulamos en el entorno montado mediante "chroot /mnt"
- Modificar la contraseña mediante "passwd" y reiniciar.