Ici, à HowtoForge, nous avons déjà discuté de la commande passwd, qui vous permet de changer le mot de passe de votre compte sur un système Linux. Mais que se passe-t-il si vous souhaitez modifier les mots de passe de plusieurs utilisateurs en une seule fois ? Eh bien, il existe une commande - chpasswd - qui vous permet de faire cela.
Dans ce didacticiel, nous aborderons les bases de cet outil à l'aide d'exemples faciles à comprendre. Mais avant cela, il convient de mentionner que tous les exemples ici ont été testés sur une machine Ubuntu 18.04 LTS.
Commande chpasswd Linux
La commande chpasswd sous Linux vous permet de mettre à jour les mots de passe en mode batch. Voici sa syntaxe :
chpasswd [options]
Et voici ce que dit la page de manuel de l'outil :
The chpasswd command reads a list of user name and password pairs from
standard input and uses this information to update a group of existing
users. Each line is of the format:
user_name:password
By default the passwords must be supplied in clear-text, and are
encrypted by chpasswd. Also the password age will be updated, if
present.
Voici quelques exemples de style Q&A qui devraient vous donner une bonne idée du fonctionnement de chpasswd.
Q1. Comment utiliser la commande chpasswd ?
L'utilisation de base, comme expliqué dans la section d'introduction ci-dessus, est assez simple. Exécutez simplement la commande chpasswd (avec les privilèges root) sans aucune option, et entrez le nouveau mot de passe au format 'username:password'.
Par exemple, j'ai exécuté la commande :
$ chpasswd
et fournissez l'entrée suivante :
himanshu:thisismynewpassword789
test:latestpassword123
Remarque1 :Comme chpasswd s'attend à ce que vous saisissiez l'entrée sur stdin, n'oubliez pas d'appuyer sur Ctrl+D une fois que vous avez terminé de saisir les noms d'utilisateur et les nouveaux mots de passe.
Remarque2 :Les mots de passe utilisés dans l'exemple ici sont uniquement à des fins de démonstration, ne les utilisez en aucun cas.
Q2. Comment faire en sorte que chpasswd lise les informations du fichier ?
Parfois, vous voudrez peut-être que l'outil lise les informations d'entrée à partir d'un fichier (plutôt que stdin). Cela peut être fait de la manière suivante :
cat [FILENAME] | chpasswd
Par exemple :
cat newpass.txt | chpasswd
Notez que le format d'entrée reste le même :'username:password', juste qu'il est écrit dans un fichier maintenant.
Q3. Comment chpasswd gère le chiffrement ?
Voici comment la page de manuel de l'outil explique cela :
By default, passwords are encrypted by PAM, but (even if not
recommended) you can select a different encryption method with the -e,
-m, or -c options.
Except when PAM is used to encrypt the passwords,chpasswd first updates
all the passwords in memory, and then commits all the changes to disk
if no errors occurred for any user.
When PAM is used to encrypt the passwords (and update the passwords in
the system database) then if a password cannot be updated chpasswd
continues updating the passwords of the next users, and will return an
error code on exit.
This command is intended to be used in a large system environment where
many accounts are created at a single time.
Q4. Comment activer une autre méthode de chiffrement ?
Cela peut être fait en utilisant l'option de ligne de commande -c. Par défaut, comme vous le savez peut-être déjà, PAM est utilisé comme méthode de cryptage, mais en utilisant -c, vous pouvez spécifier l'un des éléments suivants :DES, MD5, NONE et SHA256 ou SHA512 (à condition que votre libc supporte la méthode que vous choisir).
Par exemple :
chpasswd -c DES
Q5. Comment informer chpasswd de l'entrée chiffrée ?
Si vous le souhaitez, vous pouvez également fournir des mots de passe cryptés en entrée. Mais pour cela, vous devez utiliser l'option -e afin que chpasswd le sache.
chpasswd -e
Conclusion
La commande chpasswd est généralement utilisée par les administrateurs système ou les personnes chargées de la gestion des utilisateurs sur un PC Linux ou un réseau, bien qu'il n'y ait aucun mal à l'apprendre même si vous êtes un utilisateur normal. Ici, nous avons discuté de plusieurs options de ligne de commande majeures de cet outil. Pour en savoir plus, rendez-vous sur sa page de manuel.