![](https://m.unixlinux.online/article/uploadfiles/202211/2022110310351815.jpg)
Photo courtoisie :mattblaze
Les meilleures pratiques recommandent aux utilisateurs de continuer à modifier les mots de passe à intervalles réguliers. Mais généralement, les développeurs et autres utilisateurs du système Linux ne changeront pas le mot de passe à moins qu'ils ne soient obligés de changer leur mot de passe.
Il est de la responsabilité des administrateurs système de trouver un moyen de forcer les développeurs à changer leur mot de passe. Forcer les utilisateurs à changer leur mot de passe avec un pistolet sur la tête n'est pas une option !. Alors que la plupart des administrateurs système soucieux de la sécurité peuvent même être tentés de le faire.
Dans cet article, voyons comment vous pouvez utiliser la commande chage de Linux pour effectuer plusieurs activités pratiques de vieillissement de mot de passe, y compris comment forcer les utilisateurs à changer leur mot de passe.
Sur debian, vous pouvez installer chage en exécutant la commande suivante :
# apt-get install chage
Remarque : Il est très facile de faire une faute de frappe sur cette commande. Au lieu de chage, vous pouvez finir par le taper comme changement. N'oubliez pas que chage signifie "changer d'âge". c'est-à-dire que l'abréviation de la commande chage est similaire à chmod, chown etc.,
1. Lister le mot de passe et ses détails associés pour un utilisateur
Comme indiqué ci-dessous, n'importe quel utilisateur peut exécuter la commande chage pour lui-même d'identifier quand son mot de passe est sur le point d'expirer.
Syntax: chage –-list username (or) chage -l username $ chage --list dhinesh Last password change : Apr 01, 2009 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
Si l'utilisateur dhinesh essaie d'exécuter la même commande pour l'utilisateur ramesh, il recevra le message d'autorisation refusée suivant.
$ chage --list ramesh chage: permission denied
Remarque : Cependant, un utilisateur root peut exécuter la commande chage pour n'importe quel compte utilisateur.
Lorsque l'utilisateur dhinesh change son mot de passe le 23 avril 2009, il mettra à jour la valeur "Dernier changement de mot de passe" comme indiqué ci-dessous.
Veuillez vous référer à notre article précédent :Meilleures pratiques et guide ultime pour créer un mot de passe super fort, qui vous aidera à suivre les meilleures pratiques lors de la modification du mot de passe de votre compte.
$ date Thu Apr 23 00:15:20 PDT 2009 $ passwd dhinesh Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully $ chage --list dhinesh Last password change : Apr 23, 2009 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
2. Définir la date d'expiration du mot de passe pour un utilisateur à l'aide de l'option de modification -M
L'utilisateur racine (administrateurs système) peut définir la date d'expiration du mot de passe pour n'importe quel utilisateur. Dans l'exemple suivant, le mot de passe dhinesh de l'utilisateur est défini pour expirer 10 jours après le dernier changement de mot de passe.
Veuillez noter que l'option -M mettra à jour les entrées "Mot de passe expiré" et "Nombre maximum de jours entre les changements de mot de passe", comme indiqué ci-dessous.
Syntax: # chage -M number-of-days username # chage -M 10 dhinesh # chage --list dhinesh Last password change : Apr 23, 2009 Password expires : May 03, 2009 Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 10 Number of days of warning before password expires : 7
3. Message d'avertissement d'expiration du mot de passe lors de la connexion
Par défaut, le nombre de jours d'avertissement avant l'expiration du mot de passe est défini sur 7. Ainsi, dans l'exemple ci-dessus, lorsque l'utilisateur dhinesh essaie de se connecter le 30 avril 2009, il reçoit le message suivant.
$ ssh dhinesh@testingserver dhinesh@testingserver's password: Warning: your password will expire in 3 days
4. L'utilisateur est obligé de changer son mot de passe après la date d'expiration
Si la date d'expiration du mot de passe est atteinte et que l'utilisateur ne change pas son mot de passe, le système forcera l'utilisateur à changer le mot de passe avant la connexion, comme indiqué ci-dessous.
$ ssh dhinesh@testingserver dhinesh@testingserver's password: You are required to change your password immediately (password aged) WARNING: Your password has expired. You must change your password now and login again! Changing password for dhinesh (current) UNIX password: Enter new UNIX password: Retype new UNIX password:
5. Définir la date d'expiration du compte pour un utilisateur
Vous pouvez également utiliser la commande chage pour définir la date d'expiration du compte comme indiqué ci-dessous en utilisant l'option -E. La date indiquée ci-dessous est au format « AAAA-MM-JJ ». Cela mettra à jour la valeur "Le compte expire" comme indiqué ci-dessous.
# chage -E "2009-05-31" dhinesh # chage -l dhinesh Last password change : Apr 23, 2009 Password expires : May 03, 2009 Password inactive : never Account expires : May 31, 2009 Minimum number of days between password change : 0 Maximum number of days between password change : 10 Number of days of warning before password expires : 7
6. Forcer le verrouillage du compte utilisateur après X jours d'inactivité
Généralement, si le mot de passe a expiré, les utilisateurs sont obligés de le changer lors de leur prochaine connexion. Vous pouvez également définir une condition supplémentaire, où après l'expiration du mot de passe, si l'utilisateur n'a jamais essayé de se connecter pendant 10 jours, vous pouvez verrouiller automatiquement son compte en utilisant l'option -I comme indiqué ci-dessous. Dans cet exemple, la date « Mot de passe inactif » est définie sur 10 jours à compter de la valeur « Mot de passe expire ».
Une fois qu'un compte est verrouillé, seuls les administrateurs système pourront le déverrouiller.
# chage -I 10 dhinesh # chage -l dhinesh Last password change : Apr 23, 2009 Password expires : May 03, 2009 Password inactive : May 13, 2009 Account expires : May 31, 2009 Minimum number of days between password change : 0 Maximum number of days between password change : 10 Number of days of warning before password expires : 7
7. Comment désactiver le vieillissement du mot de passe pour un compte utilisateur
Pour désactiver l'expiration du mot de passe d'un compte utilisateur, définissez les éléments suivants :
- -m 0 définira le nombre minimum de jours entre le changement de mot de passe à 0
- -M 99999 fixera le nombre maximum de jours entre le changement de mot de passe à 99999
- -I -1 (chiffre moins un) définira le "Mot de passe inactif" sur jamais
- -E -1 (chiffre moins un) définira "Le compte expire" sur jamais.
# chage -m 0 -M 99999 -I -1 -E -1 dhinesh # chage --list dhinesh Last password change : Apr 23, 2009 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
Cet article a été écrit par Dhineshkumar Manikannan. Il travaille chez bk Systems (p) Ltd et souhaite contribuer à l'open source. The Geek Stuff accueille vos conseils et articles invités