Gestión de contraseñas y políticas: chage, /etc/login.defs
...
Introducción
Linux permite definir políticas de contraseñas para los usuarios: caducidad, tiempo mínimo entre cambios,
avisos de expiración, etc. Esto se gestiona con el comando chage y el archivo
/etc/login.defs.
chage
Gestiona la información de caducidad de contraseña de un usuario.
Sintaxis:
# chage [opciones] usuario
Ejemplo — ver información de caducidad:
# chage -l juan
Muestra la fecha del último cambio de contraseña, fecha de expiración, días de aviso, etc.
Ejemplo — forzar cambio en el próximo login:
# chage -d 0 juan
El usuario deberá cambiar su contraseña la próxima vez que inicie sesión.
Ejemplo — establecer caducidad de 90 días:
# chage -M 90 juan
Opciones comunes:
- -l → lista la información de caducidad del usuario
- -d → establece la fecha del último cambio de contraseña (0 = fuerza cambio)
- -M → días máximos de validez de la contraseña
- -m → días mínimos entre cambios de contraseña
- -W → días de aviso antes de que expire
- -E → fecha de expiración de la cuenta (YYYY-MM-DD)
/etc/login.defs
Archivo de configuración que define las políticas por defecto para nuevos usuarios: longitud mínima de contraseña, caducidad, rangos de UID/GID, etc.
Parámetros relevantes:
PASS_MAX_DAYS 90
PASS_MIN_DAYS 7
PASS_WARN_AGE 14
PASS_MIN_LEN 8
UID_MIN 1000
UID_MAX 60000
- PASS_MAX_DAYS → días máximos de validez de la contraseña
- PASS_MIN_DAYS → días mínimos entre cambios
- PASS_WARN_AGE → días de aviso antes de que expire
- PASS_MIN_LEN → longitud mínima de la contraseña
- UID_MIN / UID_MAX → rango de UIDs para usuarios normales
Estos valores solo afectan a usuarios creados a partir de ese momento, no a los ya existentes. Para cambiar
políticas de usuarios ya creados hay que usar chage.