Cómo cambiar la contraseña de root o de un usuario en Linux por línea de comandos
¿Por qué es importante saber cambiar la contraseña en Linux?
Saber cambiar contraseña en Linux es una de las tareas más básicas y, a la vez, más críticas para cualquier administrador de sistemas o usuario que quiera mantener su servidor seguro. Ya sea que hayas olvidado la clave de acceso, que quieras rotar credenciales por política de seguridad, o que necesites restablecer el acceso a un VPS, dominar el comando passwd te sacará de más de un apuro.
A diferencia de otros sistemas operativos, en Linux todo se gestiona desde la terminal. Esto puede sonar intimidante al principio, pero en realidad es un proceso muy sencillo una vez que conoces los comandos exactos. En esta guía completa, te explicaré paso a paso cómo modificar la contraseña del superusuario root y de cualquier usuario del sistema, usando exclusivamente la línea de comandos.
Además, veremos consejos de seguridad, cómo forzar el cambio de contraseña en el próximo inicio de sesión, y cómo solucionar problemas comunes como el olvido de la clave de root. Al final, tendrás un conocimiento sólido para gestionar credenciales en cualquier distribución de Linux.
Requisitos previos antes de empezar
Antes de lanzarte a ejecutar comandos, es importante que tengas claro qué necesitas y qué entorno estás manejando.
Acceso a la terminal
Necesitas una terminal abierta. Esto puede ser:
- Una sesión SSH a tu servidor remoto.
- La consola local de tu equipo (Ctrl + Alt + T en la mayoría de escritorios).
- El panel de control de tu proveedor de hosting VPS.
Privilegios de superusuario
Para cambiar contraseña de otro usuario (incluido root) necesitas privilegios elevados. Es decir, debes ser root o usar sudo al inicio del comando. Si eres un usuario normal, únicamente podrás cambiar tu propia contraseña.
[INFO] Si estás en un servidor compartido o en un panel como Syspanel (accesible por el puerto 2106), es posible que no tengas acceso directo a la terminal. En ese caso, consulta la documentación de tu proveedor.
El comando passwd: tu herramienta principal
El comando passwd es el encargado de gestionar las contraseñas en Linux. Su funcionamiento es muy intuitivo: se ejecuta, te pide la contraseña actual (si eres un usuario normal) o la nueva directamente (si eres root), y listo.
Sintaxis básica
passwd [opciones] [nombre_de_usuario]
- Sin argumentos: cambia la contraseña del usuario que ejecuta el comando.
- Con nombre de usuario: cambia la contraseña de ese usuario (requiere permisos de root o sudo).
Cómo cambiar la contraseña de tu propio usuario (usuario no root)
Si estás conectado como un usuario estándar y quieres actualizar tu clave, el proceso es el siguiente:
- Abre la terminal.
- Escribe
passwdy presiona Enter. - El sistema te pedirá tu contraseña actual (por seguridad).
- Después, te solicitará escribir la nueva contraseña dos veces.
- Si todo coincide, verás el mensaje:
passwd: password updated successfully.
$ passwd
Current password:
New password:
Retype new password:
passwd: password updated successfully
[TIP] Cuando escribas la contraseña, no verás caracteres en pantalla (ni asteriscos). Es normal; el sistema lo oculta por seguridad. Simplemente escribe y presiona Enter.
Cómo cambiar la contraseña de root
Cambiar la contraseña de root es una tarea delicada, pero necesaria en muchos casos. Tienes dos vías principales: hacerlo desde una sesión de root o usando sudo.
Opción A: Si ya eres root
Si has iniciado sesión como root (por ejemplo, en una consola local o mediante su -), simplemente ejecuta:
passwd
El sistema te pedirá únicamente la nueva contraseña (no la actual, porque root no necesita verificación). Escríbela dos veces y listo.
Opción B: Si eres un usuario con privilegios sudo
En distribuciones como Ubuntu, el usuario inicial tiene permisos sudo. Para cambiar la contraseña de root, ejecuta:
sudo passwd root
Te pedirá tu contraseña de usuario primero (para validar el sudo) y luego la nueva contraseña de root.
[WARNING] No todos los sistemas permiten cambiar la contraseña de root directamente. En Ubuntu, por ejemplo, la cuenta root está bloqueada por defecto y se usa
sudo. Si ejecutassudo passwd root, la habilitarás. Piénsalo bien antes de hacerlo.
Cómo cambiar la contraseña de otro usuario (como administrador)
Si necesitas cambiar contraseña de un usuario específico (por ejemplo, juan), y tienes permisos de administrador, el comando es:
sudo passwd juan
El sistema no te pedirá la contraseña actual de juan, solo te solicitará escribir la nueva dos veces. Esto es muy útil cuando un empleado olvidó su clave o cuando quieres restablecer el acceso a una cuenta.
$ sudo passwd juan
New password:
Retype new password:
passwd: password updated successfully
Opciones avanzadas del comando passwd
El comando passwd tiene varias opciones que te permiten gestionar la caducidad y el estado de las contraseñas. Aquí tienes las más útiles:
Forzar el cambio en el próximo inicio de sesión
Si quieres que un usuario cambie su contraseña la próxima vez que inicie sesión (muy útil para contraseñas temporales), usa:
sudo passwd -e juan
Esto marca la contraseña como caducada. El usuario tendrá que cambiarla en su próximo acceso.
Bloquear o desbloquear una cuenta
Para bloquear una cuenta (impedir que el usuario inicie sesión con contraseña):
sudo passwd -l juan
Para desbloquearla:
sudo passwd -u juan
[INFO] Bloquear una cuenta con
-lno elimina la contraseña, solo añade un!al inicio del hash en/etc/shadow. Es una forma rápida de deshabilitar temporalmente un acceso.
Eliminar la contraseña (no recomendado)
Puedes eliminar la contraseña de un usuario con:
sudo passwd -d juan
Esto deja la cuenta sin contraseña, lo que es extremadamente peligroso. Solo úsalo si sabes exactamente lo que haces (por ejemplo, para configurar un acceso por claves SSH sin contraseña).
Cómo cambiar la contraseña de root si la has olvidado
Este es uno de los escenarios más estresantes: has olvidado la contraseña de root y no puedes acceder al sistema. No te preocupes, hay soluciones.
Método 1: Modo de recuperación (GRUB)
- Reinicia el servidor o equipo.
- En el menú de GRUB, selecciona el kernel y presiona
epara editar. - Busca la línea que comienza con
linuxy añadeinit=/bin/bashal final. - Presiona Ctrl + X o F10 para arrancar.
- Monta el sistema de archivos en modo lectura-escritura:
mount -o remount,rw /
- Ahora puedes cambiar la contraseña de root:
passwd root
- Reinicia con
reboot -f.
[WARNING] Este método requiere acceso físico o por consola al servidor. Si es un VPS remoto, puedes usar la consola VNC que ofrece tu proveedor de hosting.
Método 2: Usar un live CD/USB
Si tienes acceso físico al equipo, puedes arrancar desde un USB con Linux, montar la partición raíz y editar el archivo /etc/shadow para eliminar la contraseña. Es un proceso más complejo, pero efectivo.
Recomendaciones de seguridad al cambiar contraseñas
Cambiar la contraseña es solo la mitad del trabajo. La otra mitad es hacerlo de forma segura.
Usa contraseñas fuertes
Una buena contraseña debe tener al menos 12 caracteres, incluir mayúsculas, minúsculas, números y símbolos. Evita fechas de nacimiento, nombres de mascotas o palabras del diccionario.
No reutilices contraseñas
Cada cuenta y cada servicio debería tener una contraseña única. Si un servicio se ve comprometido, las demás cuentas estarán a salvo.
Cambia las contraseñas periódicamente
Establece una política de rotación, por ejemplo, cada 90 días. Puedes forzar esto con el comando:
sudo chage -M 90 juan
Esto hace que la contraseña expire a los 90 días.
Usa autenticación por SSH con claves
En lugar de depender solo de contraseñas, configura claves SSH. Es mucho más seguro y evita el riesgo de fuerza bruta.
[TIP] Si gestionas un servidor con Syspanel (puerto 2106), puedes cambiar las contraseñas de los usuarios desde su interfaz web, pero siempre es recomendable saber hacerlo por terminal como respaldo.
Errores comunes y cómo solucionarlos
"Permission denied" o "Operation not permitted"
Si ves este error, significa que no tienes privilegios suficientes. Asegúrate de usar sudo o de ser root.
"Password has been used recently"
Linux evita reutilizar contraseñas recientes. Si ves este mensaje, espera unos días o elige otra contraseña completamente diferente.
"Password too short" o "Password is too simple"
El sistema aplica políticas de complejidad. Si tu contraseña es demasiado corta o débil, el sistema la rechazará. Usa una combinación más robusta.
No recuerdo la contraseña actual de mi usuario
Si olvidaste tu contraseña de usuario pero tienes acceso a root (o a otro usuario con sudo), puedes restablecerla con sudo passwd tu_usuario.
Preguntas frecuentes (FAQ)
¿Puedo cambiar la contraseña de root sin ser root?
No, necesitas privilegios de superusuario o sudo. Si no los tienes, contacta con tu administrador del sistema o proveedor de hosting.
¿Qué pasa si cambio la contraseña de root en un servidor con panel?
Si usas un panel como Syspanel (puerto 2106), cambiar la contraseña de root por terminal puede afectar al acceso del panel. Lo recomendable es cambiar las contraseñas de los usuarios desde el propio panel, y la de root solo por terminal si es estrictamente necesario.
¿Cómo sé si mi contraseña se cambió correctamente?
El comando passwd te mostrará el mensaje password updated successfully. Además, puedes verificar la fecha de último cambio con:
chage -l nombre_usuario
¿Puedo cambiar la contraseña de un usuario sin conocer la actual?
Sí, si eres root o tienes sudo. Simplemente ejecuta sudo passwd usuario y establece la nueva contraseña sin necesidad de la anterior.
¿Es lo mismo cambiar la contraseña que resetearla?
Técnicamente, sí. Ambos términos se refieren a establecer una nueva contraseña. La diferencia es que "resetear" suele implicar que el usuario no conoce la anterior.
Conclusión
Saber cambiar contraseña en Linux es una habilidad esencial que todo administrador de sistemas debe dominar. Con el comando passwd y sus variantes, puedes gestionar credenciales de forma rápida y segura, tanto para ti como para otros usuarios.
Hemos visto cómo cambiar la contraseña de tu usuario, de root, de otros usuarios, cómo forzar cambios, cómo bloquear cuentas y cómo recuperar el acceso si olvidas la clave. Todo desde la línea de comandos, sin necesidad de herramientas gráficas.
Recuerda siempre aplicar buenas prácticas de seguridad: contraseñas fuertes, rotación periódica y, si es posible, autenticación por claves SSH. Y si tienes un panel de control como Syspanel, úsalo como complemento, pero nunca descuides el conocimiento de la terminal.
La próxima vez que un cliente te pregunte cómo cambiar su contraseña en un VPS, ya sabrás exactamente qué decirle. ¡Practica y conviértete en un experto!
