Comando passwd
El comando passwd (password) es la utilidad estándar en sistemas Unix y Linux para cambiar la contraseña de una cuenta de usuario. Permite tanto a los usuarios comunes actualizar su propia clave de acceso como a los administradores del sistema gestionar, bloquear, desbloquear o caducar las credenciales de cualquier usuario registrado en la máquina.
| Categoría | Usuarios y permisos |
|---|---|
| Disponible en | Linux (util-linux) / Unix |
| Equivalente en Windows | net user [usuario] [contraseña], cambio de contraseña desde el Administrador de equipos o Ctrl + Alt + Supr |
| Sustituye a | Antiguos métodos manuales de edición directa de ficheros de hashes de contraseñas. |
| ¿Requiere permisos de administrador? | No para cambiar la contraseña propia (siempre que se conozca la actual); sí (usando sudo) para modificar la clave de otros usuarios del sistema. |
¿Qué significa su nombre?
PASSWD procede directamente de la abreviatura en inglés de Password (Contraseña).
Su nombre coincide a su vez con el del archivo clásico de configuración de usuarios del sistema (/etc/passwd), aunque en los sistemas operativos modernos las contraseñas cifradas se almacenan de forma segura y separada en el archivo /etc/shadow.
¿Para qué sirve?
El comando passwd sirve para garantizar la seguridad de las cuentas mediante la actualización periódica de las credenciales de acceso. También es empleado por el superusuario para restablecer contraseñas perdidas de otros usuarios, establecer políticas de caducidad y bloquear cuentas de forma temporal o definitiva.
Es una herramienta fundamental en la auditoría y el mantenimiento de la seguridad de cualquier entorno multiusuario, ya que evita el uso de contraseñas débiles y controla el ciclo de vida de las claves de acceso.
Sintaxis
passwd [opciones] [usuario]
Las opciones y modificadores más habituales son:
| Opción | Descripción |
|---|---|
-d |
Elimina (vacía) la contraseña de un usuario, dejándolo sin clave de acceso (solo ejecutable por root). |
-l |
Bloquea (lock) la cuenta de un usuario añadiendo un signo de exclamación al inicio de su hash en /etc/shadow. |
-u |
Desbloquea (unlock) una cuenta de usuario que se encontraba previamente bloqueada. |
-S |
Muestra el estado actual de la cuenta (si tiene contraseña activa, fecha de caducidad, etc.). |
Comandos más utilizados
| Comando | Descripción |
|---|---|
passwd |
Cambia la contraseña del usuario actual que ha iniciado sesión en la terminal. |
sudo passwd nombre_usuario |
Permite al administrador cambiar la contraseña de otro usuario del sistema. |
passwd -S |
Consulta el estado de la contraseña de nuestra propia cuenta. |
sudo passwd -l nombre_usuario |
Bloquea de forma temporal el acceso a una cuenta de usuario concreta. |
Equivalencia con otros sistemas
| Acción | Linux antiguo | Linux actual | Windows |
|---|---|---|---|
| Cambiar contraseña propia | passwd |
passwd |
Ctrl + Alt + Supr -> Cambiar contraseña |
| Cambiar clave de otro usuario | passwd [usuario] |
sudo passwd [usuario] |
net user [usuario] * (desde CMD como Administrador) |
| Bloquear cuenta de usuario | passwd -l |
passwd -l / usermod -L |
net user [usuario] /active:no |
Ejemplos
Cambiar la contraseña de nuestra propia cuenta de usuario
passwd
Modificar la clave de acceso de otro usuario (requiere privilegios de administrador)
sudo passwd profesor
Consultar el estado de seguridad y caducidad de nuestra contraseña
passwd -S
Bloquear el acceso a una cuenta de usuario de forma temporal
sudo passwd -l invitado
Ejemplo de salida
Changing password for user alumno.
Current password:
New password:
Retype new password:
passwd: password updated successfully
¿Cómo interpretar la salida?
- Current password: solicitud de la contraseña actual para verificar la identidad antes de permitir el cambio.
- New password / Retype: introducción y confirmación de la nueva clave de acceso (por seguridad no se visualiza ningún carácter en pantalla).
- password updated successfully: mensaje de confirmación que indica que el cambio se ha aplicado correctamente en el sistema.
Errores habituales
- Intentar cambiar la contraseña de otro usuario sin utilizar privilegios de superusuario con
sudo, lo que genera un error inmediato de permisos denegados. - Escribir una contraseña demasiado sencilla o débil cuando el sistema cuenta con políticas de seguridad estrictas (como
libpwquality), provocando que el comando rechace el cambio.
Conceptos relacionados
- Archivo
/etc/passwd - Archivo
/etc/shadow - Hash de contraseñas
- Políticas de seguridad de claves
- Caducidad de cuentas
Comandos relacionados
susudochageuseraddusermod
Curiosidades
Cuando un administrador bloquea una cuenta utilizando la opción passwd -l, lo que hace internamente el sistema operativo es colocar un signo de exclamación (!) o un asterisco al principio del hash cifrado de la contraseña almacenado en el archivo /etc/shadow. Esto invalida matemáticamente cualquier intento de inicio de sesión mediante contraseña, ya que ningún texto plano al ser cifrado coincidirá jamás con ese prefijo especial.
Prácticas propuestas
- Ejecuta el comando
passwden tu terminal de usuario y experimenta el proceso de cambio de tu propia contraseña actual. - Utiliza el comando
passwd -Spara comprobar el estado actual de tu contraseña y averiguar cuándo fue la última vez que se modificó. - Crea un usuario de prueba en tu sistema y practica el cambio de su contraseña utilizando el comando con privilegios de administrador (
sudo passwd [nombre]). - Prueba a bloquear la cuenta de usuario de prueba utilizando la opción
sudo passwd -le intenta iniciar sesión con ella para comprobar el resultado. - Investiga cómo desbloquear la cuenta previamente bloqueada utilizando la opción inversa
sudo passwd -u. - Si dispones de un entorno Windows, compara el procedimiento de cambio de contraseña ejecutando el comando
net userdesde una consola con privilegios elevados.
Consejo: Utiliza siempre contraseñas robustas que combinen letras mayúsculas, minúsculas, números y símbolos; evitarás vulnerabilidades en sistemas expuestos a ataques de fuerza bruta.