GNU/Linux >> Tutoriels Linux >  >> Linux

Comment gérer les mots de passe de compte sous Linux avec la commande passwd

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 !


Linux
  1. Comment gérer le mot de passe du compte sous Linux

  2. Comment changer le mot de passe sous Linux (commande passwd)

  3. Gestion des utilisateurs Linux avec la commande passwd

  4. Comment transmettre un mot de passe à la commande SCP sous Linux

  5. passwd Exemples de commandes sous Linux

10 exemples de commandes passwd sous Linux

Comment gérer vos mots de passe avec Enpass sous Linux

Comment gérer les mots de passe Linux avec la commande pass

Comment transmettre un mot de passe à la commande SSH sous Linux

Commande Linux passwd - Modifier le mot de passe utilisateur

Comment protéger GRUB avec un mot de passe sous Linux ?