Si no conocemos la contraseña de root y no tenemos acceso de root a la máquina, ¿cómo podemos cambiar la contraseña de root?
Respuesta1
Aquí hay algunas formas que se me ocurren, desde la menos intrusiva hasta la más intrusiva.
Sin reiniciar
Con sudo:Si tiene sudo
permisos para ejecutar passwd
, puede hacer:
sudo passwd root
Ingresarsucontraseña, luego ingrese una nueva contraseña para root dos veces. Hecho.
Editar archivos: esto funciona en el improbable caso de que no tengas sudo
acceso completo, perohacertener acceso para editar /etc/{passwd,shadow}
. Abrir /etc/shadow
, ya sea con sudoedit /etc/shadow
o con sudo $EDITOR /etc/shadow
. Reemplace el campo de contraseña de root (todos los caracteres aleatorios entre el segundo y tercer dos puntos :
) con el campo de contraseña de su propio usuario. Ahorrar. El local tiene la misma contraseña que tú. Inicie sesión y cambie la contraseña por otra.
Estos son los fáciles.
Reinicio requerido
Modo de usuario único: Esto lo acaba de explicar Renan. Funciona si puedes acceder a GRUB (o tu gestor de arranque) y puedes editar la línea de comandos de Linux. No funciona si usas Debian, Ubuntu y algunos otros. Algunas configuraciones del cargador de arranque requieren una contraseña para hacerlo, y usted debe saberla para continuar. Sin más preámbulos:
- Reiniciar.
- Ingrese la contraseña de inicio, si corresponde.
- Ingrese al menú de su cargador de arranque.
- Si el modo de usuario único está disponible, selecciónelo (Debian lo llama "modo de recuperación").
- Si no, y ejecuta GRUB:
- Resalte su opción de arranque normal.
- Presione epara ingresar al modo de edición. Es posible que allí se le solicite una contraseña de GRUB.
- Resalte la línea que comienza con
kernel
olinux
. - Prensa e.
- Añade la palabra "soltero" al final. (¡no olvides anteponer un espacio!)
- Presione Entere inicie la estrofa editada. Algunos GRUB usan Ctrl- X, otros usan b. Dice cuál es en la parte inferior de la pantalla.
Su sistema se iniciará en modo de usuario único. Algunas distribuciones no le pedirán una contraseña de root en este momento (las distribuciones Debian y las basadas en Debian sí lo hacen). Eres root ahora. Cambia tu contraseña:
mount / -o remount,rw
passwd # Enter your new password twice at the prompts
mount / -o remount,ro
sync # some people sync multiple times. Do what pleases you.
reboot
y reboot
, o, si conoce su nivel de ejecución normal, diga telinit 2
(o lo que sea).
Reemplazoinit
: superficialmente similar al truco del modo de usuario único, con prácticamente las mismas instrucciones, pero requiere mucha más destreza con la línea de comandos. Arranca su kernel como se indica arriba, pero en lugar de single
, agrega init=/bin/sh
. Esto se ejecutará /bin/sh
en lugar de init
y le dará unamuycáscara temprana casi sin comodidades. En este punto su objetivo es:
- Monte el volumen raíz.
- Ponte
passwd
a correr. - Cambie su contraseña con el
passwd
comando.
Dependiendo de su configuración particular, estos pueden ser triviales (idénticos a las instrucciones para el modo de usuario único) o muy no triviales: cargar módulos, inicializar software RAID, abrir volúmenes cifrados, iniciar LVM, etc. Sin init
, no estás ejecutando demonios ni ningún otro proceso excepto /bin/sh
sus hijos, por lo que estás literalmente solo. Tampoco tienes control del trabajo, así que ten cuidado con lo que escribes. Uno está fuera de lugar cat
y es posible que tengas que reiniciar si no puedes salir de él.
Disco de recuperación: este es fácil. Inicie un disco de rescate de su elección. Monte su sistema de archivos raíz. El proceso depende de cómo se superponen los volúmenes, pero eventualmente se reduce a:
# do some stuff to make your root volume available.
# The rescue disk may, or may not do it automatically.
mkdir /tmp/my-root
mount /dev/$SOME_ROOT_DEV /tmp/my-root
$EDITOR /tmp/my-root/etc/shadow
# Follow the `/etc/shadow` editing instructions near the top
cd /
umount /tmp/my-root
reboot
Obviamente, $SOME_ROOT_DEV
es cualquier nombre de dispositivo de bloque asignado a su sistema de archivos raíz por el disco de rescate y $EDITOR
es su editor favorito (que puede tener que estar vi
en el sistema de rescate). Después de reboot
, permita que la máquina se inicie normalmente; La contraseña de root será la de su propio usuario. Inicie sesión como root y cámbielo inmediatamente.
Otras maneras
Evidentemente, existen innumerables variaciones de lo anterior. Todos se reducen a dos pasos:
- Obtenga acceso root a la computadora (trampa 22 y el verdadero truco)
- Cambie la contraseña de root de alguna manera.
Respuesta2
Creo que esto debería funcionar en casi cualquier distribución.
Si puede acceder a la partición raíz desde otro sistema, por ejemplo, un CD en vivo, puede editar como raíz desde allí /etc/shadow
; primero tienes que hacerlo chmod u+w shadow
. Busque la entrada de root
, probablemente sea la primera y se parece a esta:
root:$6$asdG0[..etc...]ae/:15666:0:99999:7:::
Borra todo lo que esté entre los dos primeros dos puntos para terminar con:
root::15666:0:99999:7:::
Entonces chmod u-w shadow
. Ahora puedes reiniciar el sistema y el root no tendrá contraseña. Puede simplemente escribir root
en el mensaje de inicio de sesión y no le pedirá uno. Luego puede usar passwd
para configurar uno.
Para tener mucho cuidado:
- Cree una copia de seguridad del
/etc/shadow
primero. - No inicies sesión como nadie más que como root hasta que hayas establecido una nueva contraseña. Esto no es crítico, pero protege contra la posibilidad teórica de que un malware sin privilegios realice algún tipo depase ave maría("Oye, tal vez no haya una contraseña de root..."). Un poco descabellado en mi opinión.
Respuesta3
A juzgar por las etiquetas, supongo que estás usando RHEL, pero esta solución debería funcionar igualmente bien para todas las distribuciones.
Si olvida la contraseña de root, puede iniciar en modo de usuario único y usarla para cambiar la contraseña. Este enfoque se describe enla guía paso a paso de Red Hat:
- Ingrese al menú de GRUB y presione e.
- Elija la línea que comienza con
kernel
, presione enuevamente. - Al final de esta línea, ponga
single
. Luego presione ENTERy bretírelo.
Eventualmente llegará a un mensaje donde podrá escribir passwd root
y cambiar la contraseña. Luego escriba reboot
para reiniciar el sistema.