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?
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?
Respuestas:
Aquí hay algunas maneras en que puedo pensar, desde las menos intrusivas hasta las más intrusivas.
Con sudo: si tiene sudo
permisos para ejecutar passwd
, puede hacer:
sudo passwd root
Ingrese su contraseña, luego ingrese una nueva contraseña para root dos veces. Hecho.
Edición de archivos : esto funciona en el caso poco probable de que no tenga sudo
acceso completo , pero sí tiene acceso para editar /etc/{passwd,shadow}
. Abierto /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 punto :
) con el campo de contraseña de su propio usuario. Salvar. El local tiene la misma contraseña que tú. Inicie sesión y cambie la contraseña a otra cosa.
Estos son los fáciles.
Modo de usuario único : esto fue explicado por Renan. Funciona si puede acceder a GRUB (o su cargador de arranque) y puede editar la línea de comandos de Linux. No funciona si usa Debian, Ubuntu y algunos otros. Algunas configuraciones del cargador de arranque requieren una contraseña para hacerlo, y debe saberlo para continuar. Sin más preámbulos:
kernel
o linux
.Su sistema se iniciará en modo de usuario único. Algunas distribuciones no le pedirán una contraseña de root en este momento (Debian y las basadas en Debian 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 en gran medida las mismas instrucciones, pero requiere mucha más destreza con la línea de comando. Arrancas tu kernel como se indicó anteriormente, pero en lugar de eso single
, agregas init=/bin/sh
. Esto se ejecutará /bin/sh
en lugar de init
, y le dará una cáscara muy temprana con casi ninguna comodidad. En este punto, su objetivo es:
passwd
correr.passwd
comando.Dependiendo de su configuración particular, estos pueden ser triviales (idénticos a las instrucciones para el modo de usuario único) o altamente no triviales: cargar módulos, inicializar RAID de software, abrir volúmenes cifrados, iniciar LVM, etc. Sin init
, no estás ejecutando dæmons ni ningún otro proceso, sino /bin/sh
sus hijos, por lo que estás literalmente solo. Tampoco tienes control de trabajo, así que ten cuidado con lo que escribes. Se extravió cat
y es posible que deba reiniciar si no puede salir de él.
Disco de rescate : este es fácil. Arranca un disco de rescate de tu elección. Monta tu sistema de archivos raíz. El proceso depende de cómo se distribuyen los volúmenes, pero finalmente 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 el nombre del 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
eso, permita que la máquina arranque normalmente; la contraseña de root será la de tu propio usuario. Inicie sesión como root y cámbielo de inmediato.
Obviamente, hay innumerables variaciones a lo anterior. Todos se reducen a dos pasos:
Esto debería funcionar en casi cualquier distribución, creo.
Si puede acceder a la partición raíz desde otro sistema, por ejemplo, un CD en vivo, puede como raíz desde allí editar /etc/shadow
; Primero tienes que hacerlo chmod u+w shadow
. Encuentre la entrada para root
, es probable que sea la primera y se vea más o menos así:
root:$6$asdG0[..etc...]ae/:15666:0:99999:7:::
Borra todo entre los dos primeros dos puntos para que termines con:
root::15666:0:99999:7:::
Entonces chmod u-w shadow
. Ahora puede reiniciar el sistema y la raíz no tendrá contraseña. Simplemente puede escribir root
en el indicador de inicio de sesión y no solicitará uno. Luego puede usar passwd
para configurar uno.
Para tener mucho cuidado:
/etc/shadow
primero.passwd
en un entorno chroot desde el CD en vivo?
/etc/shadow
A juzgar por las etiquetas, supongo que está utilizando RHEL, pero esta solución debería funcionar igual de 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 en la guía paso a paso de Red Hat :
kernel
, presione enuevamente.single
. Luego presiona ENTERy bsaca de él.Eventualmente llegarás a un mensaje donde puedes escribir passwd root
y cambiar la contraseña. Luego escriba reboot
para reiniciar el sistema.
/boot/grub/grub.conf
para eliminar la contraseña del gestor de arranque y /etc/inittab
cambiar el shell de usuario único a algo como / bin / sh (cc @pradeepchhetri)