GNU/Linux >> Tutoriels Linux >  >> Linux

UNIX / Linux :comment forcer l'utilisateur à changer son mot de passe lors de la prochaine connexion après la réinitialisation du mot de passe

La demande

Comment obliger un utilisateur à changer son mot de passe lors de sa prochaine connexion ? L'utilisateur doit être forcé de changer le mot de passe pour la première fois seulement après que le mot de passe a été réinitialisé.

1. Utilisation de la commande chage

Cela peut être fait en utilisant la commande chage avec -d option. Selon la page de manuel de chage :

# man chage
....
-d, --lastday LAST_DAY
    Set the number of days since January 1st, 1970 when the password was last changed. The date may also be expressed in the format YYYY-MM-DD (or the format more commonly used in your area). If the LAST_DAY is set to 0 the user is forced to change his password on the next log on.
...

Pour définir la date du dernier changement de mot de passe de l'utilisateur à 0, utilisez la commande ci-dessous :

# chage -d 0 [username]

Par exemple, pour définir la date du dernier changement de mot de passe de l'utilisateur (testuser) sur 0 avec la commande chage :

# chage -d 0 testuser

2. Utilisation de la commande passwd

Une autre façon de forcer l'utilisateur à changer de mot de passe consiste à utiliser la commande passwd avec -e option. L'option -e fait expirer le mot de passe de l'utilisateur actuel, forçant l'utilisateur à en définir un nouveau lors de la prochaine connexion. À partir de la page de manuel de la commande passwd :

-e     This is a quick way to expire a password for an account. The user will be forced to change the password during the next login  attempt. Available  to  root only.

Pour faire expirer le mot de passe actuel et forcer l'utilisateur à définir un nouveau mot de passe, utilisez la commande ci-dessous :

# passwd -e [username]

Si l'utilisateur ne se souvient pas de son ancien mot de passe, donnez-lui un mot de passe temporaire avec passwd avant d'exécuter la commande ci-dessus.

Vérifier

La prochaine fois que l'utilisateur s'authentifiera (avec son ancien mot de passe), il sera obligé d'entrer un nouveau mot de passe.

# ssh testuser@localhost
testuser@localhost's password: 
You are required to change your password immediately (root enforced)
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for user testuser.
Changing password for testuser.
(current) UNIX password: 
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
Connection to localhost closed.

Pour vérifier si le mot de passe actuel a expiré ou non, utilisez la commande chage .

# chage -l [username]


Linux
  1. Comment modifier, supprimer ou désactiver le mot de passe utilisateur sous Linux

  2. Comment ajouter un utilisateur Unix/linux dans un script bash ?

  3. Comment changer (de manière permanente) le shell par défaut après la connexion à un Ttyn spécifique sous Linux ?

  4. Comment modifier ou définir des mots de passe utilisateur sous Linux

  5. Définir ou modifier un mot de passe utilisateur sous Linux

Comment réinitialiser le mot de passe de l'utilisateur racine MySQL sous Linux

Comment changer le mot de passe utilisateur sous Linux

Comment forcer l'utilisateur à changer de mot de passe lors de la prochaine connexion sous Linux

Comment changer ou définir un mot de passe utilisateur sous Linux

Mot de passe Linux oublié sur WSL ? Voici comment le réinitialiser facilement

Comment changer d'utilisateur sous Linux