Cómo administrar la caducidad de contraseñas de usuarios en Linux

Las mejores prácticas recomiendan que los usuarios cambien las contraseñas cada cierto tiempo. Pero, por lo general, los desarrolladores y demás usuarios del sistema Linux no cambiarán la contraseña a menos que se vean obligados a cambiarla.

Es responsabilidad de los administradores de sistemas encontrar una manera de obligar a los usuarios a cambiar su contraseña. ¡Forzar a los usuarios a cambiar su contraseña con una pistola en la cabeza no es una opción! Si bien la mayoría de los administradores de sistemas conscientes de la seguridad pueden incluso verse tentados a hacerlo.

En este artículo, revisaremos cómo puedes usar el comando chage de Linux para realizar varias actividades prácticas de caducidad de contraseñas, incluido cómo obligar a los usuarios a cambiar su contraseña.

En Debian, puedes instalar chage ejecutando el siguiente comando:

Nota: Es muy fácil cometer un error tipográfico en este comando. En lugar de chage, puedes terminar escribiéndolo como change. Recuerda que chage significa “change age”. es decir, la abreviatura del comando chage, es similar a chmod, chown, etc.

Uso del comando chage

1. Listar la contraseña y sus detalles relacionados para un usuario

Como se muestra a continuación, cualquier usuario puede ejecutar el comando chage para identificar cuándo su contraseña está a punto de caducar.

Si el usuario jose intenta ejecutar el mismo comando para el usuario cesar, recibirá el siguiente mensaje de permiso denegado.

Nota: Sin embargo, un usuario root puede ejecutar el comando chage para cualquier cuenta de usuario.

Cuando el usuario cesar cambie su contraseña el 23 de abril de 2019, actualizará el valor de “Último cambio de contraseña” como se muestra a continuación.

Siempre debes seguir las mejores prácticas para crear una contraseña súper segura, mientras cambias la contraseña de tu cuenta.

2. Establecer la fecha de vencimiento de la contraseña para un usuario utilizando chage con la opción -M

El usuario root (administradores del sistema) puede establecer la fecha de vencimiento de la contraseña para cualquier usuario. En el siguiente ejemplo, la contraseña de usuario cesar está configurada para caducar 10 días después del último cambio de contraseña.

Ten en cuenta que la opción -M actualizará las entradas “Caducidad de contraseña” y “Número máximo de días entre cambios de contraseña” como se muestra a continuación.

3. Mensaje de advertencia de caducidad de contraseña durante el inicio de sesión

De forma predeterminada, el número de días de advertencia antes de que caduque la contraseña se establece en 7. Por lo tanto, en el ejemplo anterior, cuando el usuario cesar intente iniciar sesión el 30 de abril de 2019, recibirá el siguiente mensaje.

4. Usuario obligado a cambiar la contraseña después de la fecha de caducidad

Si se cumple la fecha de caducidad de la contraseña y el usuario no cambia su contraseña, el sistema obligará al usuario a cambiar la contraseña antes del inicio de sesión como se muestra a continuación.

5. Establecer la fecha de expiración de la cuenta para un usuario

También puedes usar el comando chage para establecer la fecha de vencimiento de la cuenta como se muestra a continuación con la opción -E. La fecha que figura a continuación está en formato “AAAA-MM-DD”. Esto actualizará el valor de “Cuenta expira” como se muestra a continuación.

6. Forzar el bloqueo de la cuenta de usuario después de un determinado número de días de inactividad

Por lo general, si la contraseña caduca, los usuarios se ven obligados a cambiarla durante su próximo inicio de sesión. También puedes establecer una condición adicional, donde después de que la contraseña haya expirado, si el usuario nunca intentó iniciar sesión durante 10 días, puedes bloquear automáticamente su cuenta utilizando la opción -I como se muestra a continuación. En este ejemplo, la fecha “Contraseña inactiva” se establece en 10 días desde el valor “La contraseña expira”.

Una vez que una cuenta está bloqueada, solo los administradores del sistema podrán desbloquearla.

7. Cómo deshabilitar la expiración de la contraseña para una cuenta de usuario

Para desactivar la caducidad de la contraseña para una cuenta de usuario, debes configurar lo siguiente:

  • -m 0 establecerá el número mínimo de días entre el cambio de contraseña en 0
  • -M 99999 establecerá el número máximo de días entre el cambio de contraseña en 99999
  • -I -1 (número menos uno) configurará la “Contraseña inactiva” en nunca
  • -E -1 (número menos uno) establecerá “La cuenta caduca” en nunca.