Les technologies de sécurité ont parcouru un long chemin, mais le vénérable mot de passe reste l'un des outils les plus couramment utilisés pour sécuriser les données.
La commande passwd vous permet de modifier le mot de passe de l'utilisateur sous Linux, mais elle peut faire bien plus que cela. Vous pouvez verrouiller (et déverrouiller) les utilisateurs. Vous pouvez obliger un utilisateur à changer le mot de passe lors de la prochaine connexion et plus encore.
Dans ce didacticiel, je vais vous montrer quelques exemples utiles de la commande passwd que vous pouvez utiliser en tant qu'administrateur système.
Exemples pratiques de la commande passwd

La commande passwd fonctionne sur le fichier /etc/passwd. Les modifications que vous avez apportées sont reflétées ici.
Où est le mot de passe stocké sous Linux ? Il est stocké sous forme cryptée dans le fichier /etc/shadow.
Voyons quelques exemples de la commande passwd.
1. Changez votre propre mot de passe
Pour changer le mot de passe de l'utilisateur actuel, c'est-à-dire le mot de passe de votre propre compte, entrez simplement la commande passwd sans aucune option.
passwd
On vous demandera d'abord d'utiliser votre mot de passe actuel :
[email protected]:~$ passwd
Changing password for christopher.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Si vous entrez votre mot de passe actuel comme nouveau mot de passe, le système affichera un message d'erreur indiquant que le mot de passe est inchangé et vous demandera à nouveau un nouveau mot de passe.
2. Créer un mot de passe root
De nombreuses distributions Linux sont livrées sans mot de passe root. La seule façon d'accéder au compte root est via les commandes sudo ou su. En effet, un mot de passe par défaut tel que "toor" rendrait un système vulnérable aux attaquants.
Vous devez être un utilisateur sudo pour créer un mot de passe root :
sudo passwd root
Voici le résultat :
[email protected]:~$ sudo passwd root
[sudo] password for christopher:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
C'est l'une des nombreuses raisons pour lesquelles il est essentiel de configurer correctement l'accès des utilisateurs. Vous ne voudriez pas que tous les utilisateurs puissent changer votre mot de passe root !
3. Modifier le mot de passe d'un autre utilisateur
Vous pouvez modifier le mot de passe utilisateur sous Linux à l'aide de la commande passwd en tant que root ou avec sudo.
sudo passwd user_name
L'ancien mot de passe ne vous sera évidemment pas demandé. Vous réinitialisez le mot de passe après tout et en tant qu'administrateur, vous devriez pouvoir le faire.
[email protected]:/home/christopher# passwd christopher
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
4. Vérifier l'état du mot de passe
Vous pouvez vérifier l'état du mot de passe d'un utilisateur comme ceci :
sudo passwd -S user_name
Voici un exemple :
[email protected]:~$ passwd -S christopher
christopher P 06/13/2020 0 99999 7 -1
Passons en revue ces informations. Je vais l'organiser dans un tableau pour faciliter la lecture. Ensuite, je discuterai de la signification de certaines valeurs.
Nom d'utilisateur | Statut | Dernière modification | Âge minimum | Âge maximal | Période d'avertissement | Période d'inactivité |
---|---|---|---|---|---|---|
christophe | P | 13/06/2020 | 0 | 99999 | 7 | -1 |
Examinons d'abord la colonne d'état. Voici les options possibles pour ce champ.
Statut | Description |
---|---|
P | Mot de passe utilisable |
NP | Pas de mot de passe |
L | Mot de passe verrouillé |
Certains numéros spéciaux sont réservés au paramétrage des règles de mot de passe.
Numéros spéciaux pour l'âge | Description |
---|---|
9999 | N'expire jamais |
0 | Peut être modifié à tout moment |
-1 | Non actif |
Ici, vous voyez que la période d'avertissement est définie sur 7 jours, mais comme la période d'inactivité est désactivée et que l'âge est défini pour ne jamais expirer, aucun avertissement ne se produira.
5. Vérifier l'état du mot de passe pour tous les comptes
Vous pouvez également vérifier l'état du mot de passe de tous les comptes d'utilisateurs de votre système :
sudo passwd -Sa
6. Forcer l'utilisateur à changer de mot de passe lors de la prochaine connexion
Vous pouvez utiliser l'option -e pour faire expirer immédiatement le mot de passe de l'utilisateur. Cela forcera l'utilisateur à changer le mot de passe lors de la prochaine connexion.
sudo passwd -e user_name
Voici à quoi ressemble l'expiration forcée :
[email protected]:/home/christopher# passwd -e christopher
passwd: password expiry information changed.
Vous pouvez maintenant vérifier l'état pour noter les modifications :
[email protected]:/home/christopher# passwd -S christopher
christopher P 01/01/1970 0 99999 7 -1
Comme vous pouvez le voir, la date de définition du mot de passe a été changée en '01/01/1970'. Cette date est historiquement liée aux systèmes Unix car c'est la date "d'époque". Cela signifie essentiellement que cette date est le jour "0" (sur une échelle de 32 bits) dans l'histoire d'Unix.
Vous avez expiré avec succès le mot de passe. La prochaine fois que mon compte se connectera, il sera obligé de changer de mot de passe.
7. Verrouiller ou déverrouiller des comptes d'utilisateurs
L'option -l de la commande passwd permet de verrouiller un compte utilisateur sous Linux :
sudo passwd -l user_name
Une fois que vous l'utilisez sur un compte d'utilisateur, le mot de passe ne fonctionnera plus pour accorder l'accès.
[email protected]:/home/christopher# passwd -l christopher
passwd: password expiry information changed.
Vous pouvez confirmer l'état du mot de passe utilisateur avec l'option -S comme indiqué précédemment. L représente ici le verrouillage de la sortie.
[email protected]:/home/christopher# passwd -S christopher
christopher L 06/13/2020 0 99999 7 -1
Le déverrouillage du compte utilisateur est tout aussi simple. Utilisez l'option -u pour déverrouiller l'utilisateur :
[email protected]:/home/christopher# passwd -u christopher
passwd: password expiry information changed.
Vous pouvez confirmer le statut. Le P dans la sortie signifie un mot de passe utilisable, c'est-à-dire que le mot de passe peut être utilisé avec le compte.
[email protected]:/home/christopher# passwd -S christopher
christopher P 06/13/2020 0 99999 7 -1
8. Supprimer le mot de passe d'un compte et le rendre sans mot de passe
Je ne vois aucun cas d'utilisation pratique pour cela, mais vous pouvez supprimer le mot de passe d'un certain compte. De cette façon, ce compte n'aura pas besoin de mot de passe pour accéder au système. Ce n'est pas bon pour la sécurité.
sudo passwd -d user_name
Conclusion
Vous pouvez également utiliser l'option -n pour forcer un utilisateur à changer le mot de passe en N jours. Mais le faire manuellement est une perte de temps. Au lieu de cela, vous devez configurer correctement la politique de mot de passe de votre système afin qu'elle s'applique à tous les comptes d'utilisateurs.
Vous pouvez toujours voir toutes les options disponibles en utilisant l'option -h.
J'espère que ce tutoriel vous a été utile pour démarrer avec la commande passwd sous Linux.
Comme toujours, nous aimons avoir des nouvelles de nos lecteurs sur le contenu qui les intéresse. Laissez un commentaire ci-dessous et partagez vos impressions avec nous !