Le nom de la commande ‘chage’ est un acronyme pour ‘change age’. Cette commande est utilisée pour modifier les informations d'ancienneté/d'expiration du mot de passe de l'utilisateur.
En tant qu'administrateur système, il vous incombe d'appliquer les politiques de changement de mot de passe afin qu'après un certain temps, les utilisateurs soient obligés de réinitialiser leur mot de passe.
Aucun autre utilisateur non autorisé ne peut voir les informations d'ancienneté/d'expiration du mot de passe. En tant qu'utilisateur root, vous pouvez exécuter cette commande pour modifier les informations d'ancienneté.
Syntaxe
chage [-m mindays] [-M maxdays] [-d lastday] [-I inactive] [-E expiredate] [-W warndays] user
En fait, vous pouvez également forcer l'utilisateur à changer périodiquement son mot de passe via /etc/login.defs fichier ci-dessous.
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
Mais /etc/login.defs affectera chaque utilisateur celle enregistrée dans le système. Si vous souhaitez configurer une règle différente pour un utilisateur différent, alors chage est l'outil qu'il vous faut.
Si vous tapez chage sans aucun paramètre, un guide rapide s'affichera. Nous pouvons parcourir quelques exemples pour mieux comprendre cette commande.
1) Répertorier les informations de vieillissement du mot de passe d'un utilisateur
Pour afficher les détails d'expiration du mot de passe d'un utilisateur, exécutez la commande ci-dessous
chage –l testuser
Sortie :
Last password change : May 01, 2012
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
Comme vous pouvez le constater, l'expiration du mot de passe est désactivée pour cet utilisateur.
2) Désactiver le vieillissement du mot de passe pour un utilisateur
Cela désactivera l'expiration du mot de passe d'un utilisateur s'il est déjà activé.
chage -I -1 -m 0 -M 99999 -E -1 testuser
• -I -1 :Cela définira le "Mot de passe inactif" sur jamais
• -m 0 :Cela définira le nombre minimum de jours entre le changement de mot de passe à 0
• -M 99999 :Cela définira le nombre maximum de jours entre le changement de mot de passe à 99999
• -E -1 :cela définira "Le compte expire" sur jamais.
3) Activer la date d'expiration du mot de passe d'un utilisateur
Dans la plupart des cas, en tant qu'administrateur, vous devez définir une date d'expiration du mot de passe pour tous les utilisateurs afin d'améliorer la sécurité. Une fois que vous avez activé la date d'expiration du mot de passe pour un utilisateur, l'utilisateur sera obligé de changer son mot de passe lors de la prochaine connexion après la date d'expiration.
Définissez le mot de passe pour qu'il expire après 20 jours. Pour cela, nous utiliserons l'option -m comme indiqué
chage -M 20 testuser
Output
Last password change : May 01, 2012
Password expires : May 21, 2012
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 20
Number of days of warning before password expires : 7
4) Définissez la date d'expiration du compte au format "AAAA-MM-JJ"
La commande chage peut être utilisée pour définir la date d'expiration du mot de passe d'un utilisateur. Ceci est réalisé en utilisant l'option -E comme indiqué ci-dessous. Notez que le format de la date est AAAA-MM-JJ. La commande ci-dessous nous montre que le mot de passe de l'utilisateur 'james' expirera le 28 mai 2012.
chage –E “2012-05-28” james
Output
Last password change : May 01, 2012
Password expires : May 21, 2012
Password inactive : never
Account expires : May 28, 2012
Minimum number of days between password change : 0
Maximum number of days between password change : 20
Number of days of warning before password expires : 7
5) Définir le message d'avertissement d'expiration du mot de passe
Par défaut, cette valeur est définie sur 7. Ainsi, lorsqu'un utilisateur se connecte avant 7 jours d'expiration, il commencera à recevoir un avertissement concernant l'expiration imminente du mot de passe. Si vous souhaitez le modifier à 10 jours, vous pouvez le faire comme suit :
chage –W 10 testuser
6) Forcer les utilisateurs à changer le mot de passe à la prochaine connexion
Lorsque vous créez un nouveau compte utilisateur, vous pouvez le configurer pour forcer l'utilisateur à modifier le mot de passe lorsqu'il se connecte pour la première fois comme suit :
chage –d 0 testuser
Cela réinitialisera "Dernier changement de mot de passe" sur "Le mot de passe doit être changé".
Conclusion
Quelques points à noter pour conclure
- Un utilisateur racine peut modifier et afficher les informations de mot de passe de n'importe quel utilisateur mais un utilisateur non root peut uniquement afficher et modifier les informations de son mot de passe.
- Une fois le mot de passe expiré, l'utilisateur ne pourra pas se connecter au système tant qu'il n'aura pas configuré un nouveau mot de passe. Le système invitera l'utilisateur à saisir l'ancien mot de passe, puis lui demandera un nouveau mot de passe et le confirmera ultérieurement.
N'hésitez pas à essayer les commandes ci-dessus et laissez-nous votre avis à ce sujet. Merci.
Lire aussi :
- Toutes les commandes Linux avec exemple