La ligne de commande Linux propose plusieurs outils de gestion des utilisateurs (dont certains dont nous avons déjà parlé). L'un de ces utilitaires est chage , qui vous permet de modifier les informations d'expiration du mot de passe. Dans ce didacticiel, nous discuterons de cet outil à l'aide d'exemples faciles à comprendre. Mais avant de plonger, il convient de mentionner que tous les exemples ici ont été testés sur une machine Ubuntu 18.04 LTS.
Commande de changement Linux
La commande chage, comme déjà expliqué ci-dessus, vous permet de modifier les informations d'expiration du mot de passe utilisateur. Voici sa syntaxe :
chage [options] LOGIN
Et voici ce que dit la page de manuel :
The chage command changes the number of days between password changes
and the date of the last password change. This information is used by
the system to determine when a user must change his/her password.
Voici quelques exemples sous forme de questions-réponses qui devraient vous donner une bonne idée du fonctionnement de la commande chage :
Q1. Comment afficher les informations d'expiration du mot de passe actuel ?
Pour afficher les informations sur la date d'expiration du mot de passe actuel d'un utilisateur, utilisez l'option de ligne de commande -l.
chage -l [USERNAME]
Voici un exemple :
chage -l himanshu
Et voici la sortie qu'il a produite sur mon système :
Last password change : Jul 26, 2018
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
Donc, actuellement, le mot de passe est configuré pour expirer "jamais".
Q2. Comment changer la date d'expiration du mot de passe ?
Pour ce faire, vous pouvez utiliser l'option de ligne de commande -M, qui vous oblige à transmettre un nombre (qui fait référence au nombre maximal de jours pendant lesquels un mot de passe est valide).
Par exemple :
chage -M 1000 himanshu
Notez que cette opération nécessite des privilèges root.
Vous pouvez donc voir dans la capture d'écran ci-dessus que l'expiration du mot de passe a maintenant été fixée au 21 avril 2021.
Notez que vous pouvez également utiliser le -m option de ligne de commande, qui est utilisée pour définir le nombre minimum de jours entre les changements de mot de passe. L'option -M dont nous avons parlé ci-dessus définit le nombre maximum de jours pendant lesquels un mot de passe est valide.
Q3. Comment changer la date du dernier changement de mot de passe ?
Vous pouvez modifier la date du dernier changement de mot de passe à l'aide de l'option de ligne de commande -d. En entrée, vous pouvez soit passer un nombre à cette option, soit une date complète. Voici comment la page de manuel l'explique :
-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).
Voici un exemple :
Ainsi, vous pouvez voir que la valeur du champ "Dernier changement de mot de passe" a été modifiée avec succès.
Q4. Comment avertir l'utilisateur avant l'expiration du mot de passe ?
La commande chage vous permet également de définir le nombre de jours d'avertissement avant qu'un changement de mot de passe ne soit requis. Cela peut être fait en utilisant l'option de ligne de commande -W.
-W, --warndays WARN_DAYS
Set the number of days of warning before a password change is
required. The WARN_DAYS option is the number of days prior to the
password expiring that a user will be warned his/her password is
about to expire.
Par exemple :
chage -W 10 himanshu
Cette commande s'assurera que l'utilisateur voit l'avertissement d'expiration du mot de passe 10 jours avant l'expiration du mot de passe.
Q5. Comment verrouiller un compte ?
Utilisez l'option de ligne de commande -E pour verrouiller un compte. La façon dont il accepte les entrées est similaire à l'option -W dont nous avons parlé ci-dessus. Pour votre information, voici comment la page de manuel l'explique :
-E, --expiredate EXPIRE_DATE
Set the date or number of days since January 1, 1970 on which the
user's account will no longer be accessible. The date may also be
expressed in the format YYYY-MM-DD (or the format more commonly
used in your area). A user whose account is locked must contact the
system administrator before being able to use the system again.
Passing the number -1 as the EXPIRE_DATE will remove an account
expiration date.
Par exemple :
chage -E 2019-06-21 himanshu
Cette commande ci-dessus garantira que le compte de l'utilisateur "himanshu" deviendra inaccessible à partir du 21 juin 2019.
Q6. Que se passe-t-il si chage est utilisé sans aucune option ?
Voici ce qui se passe dans ce cas :
If none of the options are selected, chage operates in an interactive
fashion, prompting the user with the current values for all of the
fields. Enter the new value to change the field, or leave the line
blank to use the current value. The current value is displayed between
a pair of [ ] marks.
Conclusion
Si vous êtes un administrateur système Linux ou quelqu'un qui est responsable de la gestion des utilisateurs sur des machines Linux, cette commande vaut la peine d'être conservée dans votre cagnotte. Nous avons couvert plusieurs options de ligne de commande chage ici. Pour en savoir plus, rendez-vous sur la page de manuel chage.