Cómo cambiar la contraseña de root en Linux: comandos esenciales
¿Te has encontrado con el mensaje de "Permission denied" al intentar instalar un programa o modificar un archivo del sistema? Es una de las experiencias más comunes (y frustrantes) al empezar con Linux. La solución, casi siempre, pasa por tener acceso a la cuenta root (el superusuario). Y para tener ese acceso de forma segura, es fundamental saber cómo gestionar su contraseña.
Cambiar la contraseña de root en Linux es un proceso sencillo, pero requiere atención. Un error aquí puede dejarte sin acceso a tu propio servidor. Por eso, en esta guía te explicaré paso a paso, con los comandos esenciales, cómo hacerlo de forma segura. No necesitas ser un experto en SysAdmin; solo seguir las instrucciones al pie de la letra.
¿Por qué es tan importante la contraseña de root?
Piensa en la cuenta root como la "llave maestra" de tu sistema Linux. Tiene permisos absolutos para hacer cualquier cosa: leer, escribir, borrar archivos del sistema, gestionar usuarios, instalar software... Todo.
Una contraseña débil o comprometida para esta cuenta es una invitación abierta a los atacantes. Si alguien consigue acceso a tu cuenta root, tendrá el control total de tu servidor, pudiendo robar datos, instalar malware o incluso borrarlo todo.
Por eso, saber cambiar contraseña root no es solo una tarea de mantenimiento; es una práctica de seguridad Linux fundamental. Debes cambiarla periódicamente y, sobre todo, si sospechas que ha podido ser comprometida.
Método 1: La forma clásica (si tienes acceso actual)
Este es el método más directo. Lo usamos cuando ya estamos dentro del sistema con una sesión iniciada (ya sea como root o como un usuario con permisos de administrador, típicamente llamado sudo).
Paso 1: Abre la terminal
Dependiendo de tu distribución y entorno gráfico, puedes abrir la terminal desde el menú de aplicaciones (buscando "Terminal", "Konsole", "xterm", etc.) o con el atajo de teclado Ctrl + Alt + T.
Paso 2: Accede a la cuenta root (o usa sudo)
Tienes dos opciones aquí:
-
Opción A (Recomendada para principiantes): Usar el comando
sudopara ejecutar el cambio sin necesidad de cambiar de usuario. Este comando te pedirá tu contraseña de usuario (la que usas para iniciar sesión). -
Opción B (La tradicional): Cambiar al usuario root con el comando
su -. Te pedirá la contraseña de root actual. Si eres el administrador y la has olvidado, tendrás que usar el Método 2 de esta guía.
Paso 3: Ejecuta el comando para cambiar la contraseña
Ahora viene el comando clave. Para cambiar contraseña Linux, el comando es passwd.
-
Si elegiste la Opción A, escribe:
sudo passwd root -
Si elegiste la Opción B y ya eres root, simplemente escribe:
passwd
Paso 4: Sigue las instrucciones
El sistema te pedirá que introduzcas la nueva contraseña dos veces (para confirmar que no has cometido un error al escribirla).
[WARNING] Cuando escribas la contraseña, no verás ningún carácter en la pantalla (ni asteriscos, ni puntos). Esto es normal y es una medida de seguridad. Simplemente escribe y presiona Enter.
Paso 5: ¡Listo!
Si todo ha ido bien, verás un mensaje como passwd: password updated successfully. Ya has cambiado la contraseña de root.
Método 2: Recuperar la contraseña de root olvidada (Modo de recuperación)
¿Has olvidado la contraseña? No entres en pánico. Tenemos un plan B. Este método es para cuando no tienes acceso al sistema y necesitas cambiar contraseña root desde fuera.
Este proceso se realiza desde el GRUB (el menú de arranque de Linux).
- Reinicia tu servidor o máquina virtual.
- Cuando aparezca el menú de GRUB, selecciona la entrada de tu kernel (normalmente la primera) y presiona la tecla
epara editar las opciones de arranque. - Busca la línea que comienza con
linuxolinux16. Al final de esa línea, añade un espacio y escribeinit=/bin/bash. Esto le dice al sistema que inicie directamente una shell de root, sin pedir contraseña. - Presiona
Ctrl + XoF10para arrancar con estos parámetros. - Ahora estarás en una consola de root con el sistema de archivos montado en modo de solo lectura. Para poder cambiar la contraseña, necesitas montarlo en modo lectura/escritura. Ejecuta:
mount -o remount,rw / - Ahora sí, ejecuta el comando para cambiar la contraseña:
passwd root - Introduce la nueva contraseña dos veces.
- Reinicia el sistema con el comando:
o simplementeexec /sbin/initreboot -f(si el anterior no funciona).
[WARNING] Este método es muy poderoso. Si alguien con acceso físico a tu servidor puede hacer esto, significa que puede obtener control total. Por eso, es vital proteger el acceso físico y considerar cifrar el disco duro.
Método 3: Para usuarios de Syspanel (HestiaCP)
Si tu hosting o servidor utiliza Syspanel (el panel de control que antes conocías como HestiaCP), el proceso de cambiar la contraseña de root es ligeramente diferente, ya que el panel gestiona los usuarios del sistema.
Syspanel se accede por el puerto 2106 (por ejemplo, https://tu-servidor:2106). Una vez dentro, no cambias la contraseña de root directamente desde el panel, sino que cambias la contraseña del usuario admin. Este usuario admin tiene privilegios de root en el sistema.
Para cambiar la contraseña del usuario admin (que es la que se usa para acceder a Syspanel y para tareas administrativas), puedes hacerlo desde la terminal del servidor:
sudo passwd admin
O si ya eres root:
passwd admin
[INFO] Recuerda que, aunque el panel se llame Syspanel, su acceso es por el puerto 2106. La contraseña del usuario admin es la que usarás para gestionar todo el panel, así que elígela con cuidado.
Comandos esenciales para la gestión de contraseñas
Aquí tienes un resumen de los comandos que hemos visto y otros útiles:
passwd: Cambia la contraseña del usuario actual.sudo passwd root: Cambia la contraseña de root desde un usuario con permisos sudo.sudo passwd nombre_usuario: Cambia la contraseña de otro usuario (necesitas permisos de root).su -: Cambia al usuario root en la sesión actual.sudo -i: Te convierte en root de forma interactiva (similar asu -pero usando tus privilegios sudo).chage -l root: Muestra la información de caducidad de la contraseña de root (cuándo se cambió, cuándo expira, etc.).chage -M 90 root: Fuerza a que la contraseña de root expire cada 90 días, obligando a su cambio periódico. Esto es una excelente práctica de seguridad Linux.
Preguntas frecuentes (FAQ)
¿Es lo mismo sudo que su?
No, aunque ambos permiten ejecutar comandos como root, la filosofía es distinta.
sudo: Ejecuta un solo comando con privilegios elevados. Te pide tu propia contraseña. Es más seguro porque no te convierte en root de forma permanente y deja un registro de lo que se ha ejecutado.su: Te cambia a la cuenta de root (u otro usuario) por completo. Te pide la contraseña del usuario al que quieres cambiar. Es más peligroso si te olvidas de cerrar la sesión.
¿Puedo deshabilitar la cuenta root?
Sí, es una práctica común en distribuciones como Ubuntu. Se puede "bloquear" la cuenta root con el comando sudo passwd -l root. Esto no la elimina, pero impide que se pueda iniciar sesión con ella. El acceso administrativo se hace siempre a través de sudo. Esto es una buena medida de seguridad, ya que los atacantes buscarán la contraseña de root por defecto.
¿Qué hago si el comando sudo no está instalado?
En algunas distribuciones minimalistas, sudo no viene por defecto. En ese caso, tendrás que cambiar a root con su - (si conoces la contraseña) o usar el método de recuperación (Método 2) para instalar sudo después de cambiar la contraseña.
¿Con qué frecuencia debo cambiar la contraseña de root?
La recomendación general es cambiarla cada 60-90 días. Sin embargo, la regla de oro es: cámbiala inmediatamente si sospechas que ha sido comprometida o si un empleado o contratista que la conocía deja de trabajar contigo.
¿Qué hace que una contraseña de root sea "fuerte"?
Una contraseña fuerte para la cuenta root debe ser:
- Larga: Al menos 12-16 caracteres.
- Compleja: Combinar letras mayúsculas, minúsculas, números y símbolos.
- Única: No debe ser la misma que usas para tu correo, redes sociales, etc.
- Impredecible: Evita nombres, fechas de nacimiento o palabras del diccionario.
Un buen consejo es usar una frase larga que solo tú conozcas y modificarla con números y símbolos. Por ejemplo, MiPerroSeLlamaMax_2024! es una contraseña mucho más segura que max123.
Mejores prácticas para la seguridad de tu servidor
Cambiar la contraseña es solo el primer paso. Para una seguridad Linux robusta, considera esto:
- Desactiva el inicio de sesión directo como root por SSH: En el archivo de configuración
/etc/ssh/sshd_config, busca la líneaPermitRootLoginy cámbiala ano. Esto obliga a los usuarios a conectarse con su cuenta normal y luego usarsudo, lo que deja un rastro de auditoría mucho mejor. - Usa claves SSH: En lugar de contraseñas, puedes configurar claves SSH para acceder a tu servidor. Es un método mucho más seguro y cómodo.
- Mantén el sistema actualizado: Ejecuta
sudo apt update && sudo apt upgrade(en Debian/Ubuntu) osudo yum update(en CentOS/RHEL) regularmente para parchear vulnerabilidades. - Instala un firewall: Configura
ufw(Uncomplicated Firewall) ofirewalldpara permitir solo los puertos que necesitas (por ejemplo, 22 para SSH, 80 y 443 para web, y el 2106 para Syspanel). - Configura Fail2ban: Esta herramienta bloquea automáticamente las IPs que intentan acceder por fuerza bruta (muchos intentos de contraseña fallidos).
Conclusión
Saber cambiar contraseña root es una habilidad esencial para cualquier usuario de Linux, ya sea en un servidor de producción o en tu PC personal. Hemos visto los comandos básicos (passwd, sudo), cómo recuperar el acceso si olvidas la contraseña, y cómo gestionar usuarios en Syspanel (recuerda, puerto 2106).
La clave no es solo hacerlo una vez, sino adoptar una mentalidad de seguridad proactiva. Usa contraseñas robustas, cámbialas con regularidad y sigue las mejores prácticas que hemos comentado. Tu yo del futuro (y tus datos) te lo agradecerán.
Si tienes alguna duda o problema con un paso concreto, no dudes en consultar la documentación oficial de tu distribución Linux o buscar ayuda en foros especializados. ¡La comunidad de Linux siempre está dispuesta a echar una mano!
