Aperçu
chpasswd lit les données au format 'nom_utilisateur:mot_de_passe' depuis l'entrée standard ou un fichier pour mettre à jour les mots de passe des utilisateurs correspondants. Cette commande doit généralement être exécutée avec les privilèges root et est essentielle pour automatiser la gestion des mots de passe dans les environnements avec un grand nombre d'utilisateurs.
Caractéristiques principales
- Fonction de modification de mot de passe en masse
- Adapté aux scripts et à l'automatisation
- Lecture des données depuis l'entrée standard ou un fichier
- Nécessite les privilèges root
Options principales
La commande chpasswd offre plusieurs options importantes liées à la manière dont les mots de passe sont traités.
Traitement des mots de passe
Commande générée :
Essayez de combiner les commandes.
Description:
`chpasswd` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples d'utilisation
Scénarios variés de modification de mot de passe utilisant la commande chpasswd.
Modification du mot de passe d'un utilisateur unique
echo 'testuser:newpassword123' | sudo chpasswd
Utilise la commande echo connectée par un pipe (|) pour modifier le mot de passe d'un utilisateur unique. Cette méthode est utile dans les scripts.
Modification des mots de passe de plusieurs utilisateurs à partir d'un fichier
cat users.txt
# Contenu de users.txt :
# user1:pass123
# user2:pass456
sudo chpasswd < users.txt
Créez plusieurs lignes au format 'nom_utilisateur:mot_de_passe' dans le fichier users.txt, puis fournissez-les en entrée à chpasswd pour une modification en masse.
Utilisation de mots de passe déjà chiffrés
echo 'user3:$6$rounds=5000$saltsalt$hashedpasswordexample' | sudo chpasswd -e
Si les mots de passe sont déjà sous forme chiffrée (hachée), utilisez l'option -e (ou --encrypted) pour indiquer à chpasswd de ne pas les chiffrer à nouveau. Dans ce cas, les mots de passe doivent correspondre au format du fichier /etc/shadow.
Modification du mot de passe avec une méthode de chiffrement spécifique
echo 'user4:securepass' | sudo chpasswd --crypt-method SHA512
Hache un mot de passe en texte clair avec une méthode de chiffrement spécifique (par exemple, SHA512). L'option -e n'est pas utilisée dans ce cas.
Conseils et précautions
Conseils et précautions pour utiliser la commande chpasswd de manière sûre et efficace.
Considérations de sécurité
Les mots de passe sont des informations sensibles, veuillez donc tenir compte des points suivants :
- **Privilèges root** : chpasswd modifie les mots de passe du système, il doit donc impérativement être exécuté avec les privilèges root.
- **Prévention de l'historique** : L'entrée directe de mots de passe comme `echo 'user:pass' | sudo chpasswd` peut laisser des traces dans l'historique du shell. Il est recommandé d'utiliser `unset HISTFILE` ou `history -c` pour effacer l'historique, ou de lire depuis un fichier.
- **Permissions du fichier** : Les fichiers contenant des mots de passe doivent avoir des permissions qui ne permettent la lecture qu'à leur propriétaire (root) (par exemple, `chmod 600 users.txt`).
- **Utilisation de fichiers temporaires** : Si vous créez des fichiers temporaires dans des scripts pour transmettre des mots de passe, assurez-vous de supprimer ces fichiers en toute sécurité une fois le travail terminé.
Format d'entrée
chpasswd ne reconnaît que le format 'nom_utilisateur:mot_de_passe'. D'autres formats peuvent entraîner des erreurs.
- Chaque ligne doit être une paire utilisateur:mot_de_passe.
- Le nom d'utilisateur et le mot de passe sont séparés par un deux-points (:).
Méthode de chiffrement
Par défaut, chpasswd utilise la méthode de chiffrement par défaut du système. Vous pouvez forcer une méthode spécifique en utilisant l'option `--crypt-method`, mais vous devez vérifier qu'elle est conforme à la politique de sécurité de votre système.