===== 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.