Cómo Recuperar la Contraseña de Root en Solaris 11: Solución Definitiva
Tabla de contenido
Recuperar la Contraseña de Root en Solaris 11: Guía de Resiliencia
Perder el acceso a la cuenta de root en Oracle Solaris 11 es un escenario de crisis que pone a prueba la capacidad de respuesta de cualquier Administrador de Sistemas. En Sys Adventures entendemos que la estabilidad es una disciplina, y a veces, esa disciplina requiere intervenir el sistema desde sus cimientos.
A diferencia de versiones legadas, Solaris 11 integra profundamente ZFS y Boot Environments (BE), lo que exige un procedimiento quirúrgico utilizando la media de instalación para montar el pool de almacenamiento y manipular los archivos de identidad.
Paso 1: Boot desde la media de instalación
Dependiendo de tu arquitectura, inicia el sistema desde un CD/DVD o ISO de Solaris 11:
- SPARC: Después de entrar al
OK PROMT, ingresarboot cdrom -s - x86: Selecciona el inicio desde CD/DVD en el menú de BIOS/UEFI.
Al cargar el menú, selecciona la opción 3 (Shell) para entrar a la línea de comandos.

Paso 2: Importar el pool de almacenamiento (ZFS)
El sistema de archivos de Solaris 11 es resiliente por naturaleza. Primero, debemos localizar el rpool (Root Pool) para hacerlo visible al entorno de recuperación:
zpool import

Importa el pool (se recomienda usar el ID si hay ambigüedad):
zpool import -f rpool
Paso 3: Montar el Boot Environment (BE)
Solaris 11 utiliza entornos de arranque por capas. Debemos identificar cuál es el entorno activo (identificado con el flag R) para realizar la modificación:
beadm list

Siempre vamos a usar el enviroment que tenga el Flag
Rdebido a que es el que se usa de forma predeterminada.
Una vez identificado, creamos un punto de montaje temporal
mkdir /pool_pass
y accedemos al BE:
beadm mount solaris /pool_pass

Paso 4: Manipulación del Archivo Shadow
El archivo /etc/shadow es el corazón de la autenticación. Para resetear la contraseña, eliminaremos el hash existente del usuario root.
Debemos otorgar permisos de escritura al archivo
chmod 777 /pool_pass/etc/shadow
Posterior a eso, podemos manipular su contenido
vi /pool_pass/etc/shadow

Busca la línea que empieza con root:. Verás una cadena larga de caracteres entre el primer y segundo : (dos puntos). Borra todo lo que esté entre esos dos puntos.

Con esto eliminamos la contraseña encriptada del usuario, también es posible dejarle otra contraseña encriptada que conozcamos, pero en este caso, simplemente se deja vacía.
Paso 5: Ajuste de Políticas de Login (Temporal)
Por defecto, Solaris bloquea accesos con contraseñas vacías por seguridad. Debemos relajar esta política temporalmente, para lograrlo debemos manipular el archivo login
vi /pool_pass/etc/default/login

En el debemos buscar el parámetro PASSREQ=yes y cambiarlo por PASSREQ=no

Esto permitirá el acceso directo una vez reiniciado el sistema.
Paso 6: Sincronización y Reinicio
Para que el sistema reconozca los cambios en el próximo arranque, debemos actualizar el archivo de archivo de arranque (boot archive):
bootadm update-archive -R /pool_pass

Tras este comando, puede reiniciar el sistema. Al cargar, el usuario root no solicitará contraseña.

Checklist de Seguridad Post-Recuperación
¡ATENCIÓN! Su sistema se encuentra actualmente vulnerable. Para recuperar el Silencio Operativo y la seguridad, es obligatorio completar estos pasos inmediatamente después de entrar:
1. Asignar una nueva contraseña:
passwd root
2. Revertir PASSREQ=yes en /etc/default/login
3. Restaurar permisos en el archivo shadow:
chmod 000 /etc/shadow
Con esto, hemos logrado recuperar la contraseña de root en Solaris 11.
Referencia



Deja una respuesta