Cet article passera en revue la commande passwd sous Linux et apprendra comment modifier, supprimer ou désactiver les mots de passe des utilisateurs.
Table des matières
- Comment changer votre mot de passe utilisateur
- Comment modifier le mot de passe d'un autre utilisateur
- Comment forcer l'utilisateur à changer de mot de passe sous Linux
- Comment supprimer un mot de passe utilisateur sous Linux
- Comment désactiver le mot de passe utilisateur sous Linux
- Vérifier l'état du mot de passe d'un utilisateur
- Conclusion
La gestion des mots de passe via le terminal est relativement simple. Sous Linux, vous pouvez gérer les mots de passe des utilisateurs à l'aide de passwd
utilitaire, une commande conçue pour gérer les mots de passe.
Dans ce guide, nous apprendrons également quelques arguments avancés pour le passwd
commande, ce qui vous aidera à l'utiliser plus efficacement et vous facilitera la vie.
N'oubliez pas que vous ne pouvez gérer votre mot de passe qu'en tant qu'utilisateur régulier. Cependant, l'utilisateur root et les utilisateurs disposant de privilèges sudo peuvent gérer les mots de passe d'autres utilisateurs et définir comment le mot de passe peut être utilisé.
Comment changer votre mot de passe utilisateur
Sous Linux, tout utilisateur peut changer son mot de passe à tout moment. Pour modifier le mot de passe de votre propre compte utilisateur, exécutez le passwd
commande sans aucun argument :
passwd
Votre mot de passe actuel vous sera demandé. Ensuite, si votre mot de passe est correct, la commande vous demandera d'entrer et de confirmer votre nouveau mot de passe.
Comment changer le mot de passe d'un autre utilisateur
Si vous êtes un administrateur système avec de nombreux utilisateurs, il arrivera un moment où un utilisateur oublie son mot de passe, et vous ou quelqu'un avec des privilèges sudo devrez réinitialiser son mot de passe.
Encore une fois, comme nous l'avons indiqué dans l'introduction, seuls l'utilisateur root et les utilisateurs disposant d'un accès sudo peuvent modifier le mot de passe d'un autre compte utilisateur.
Ainsi, l'exemple ci-dessous suppose que vous êtes connecté en tant qu'utilisateur avec des privilèges sudo.
Exécutez le passwd
commande, suivie du nom d'utilisateur, pour changer le mot de passe du compte d'un autre utilisateur.
Par exemple, pour changer le mot de passe d'un utilisateur nommé james
, utilisez la commande suivante :
sudo passwd james
Il vous sera uniquement demandé de saisir et de confirmer le mot de passe du nouvel utilisateur.
Le passwd
La commande ne vous demandera pas l'ancien mot de passe puisque vous jouez en tant qu'utilisateur avec les privilèges sudo. Par conséquent, vous pouvez modifier les mots de passe de n'importe quel utilisateur sans avoir besoin de connaître l'ancien mot de passe.
Comment forcer l'utilisateur à changer de mot de passe sous Linux
Par défaut, sous Linux, les mots de passe sont définis pour ne jamais expirer. Ainsi, en plus de définir ou de modifier le mot de passe d'un utilisateur, le passwd
La commande peut être utilisée pour forcer l'utilisateur à changer son mot de passe lors de sa prochaine connexion.
Pour que cela se produise, le mot de passe doit d'abord être marqué comme expiré. Ceci peut être réalisé en utilisant le -e
(--expire
) avec l'option passwd
commande, suivi du nom d'utilisateur pour lequel nous voulons marquer le mot de passe comme expiré.
Par exemple, pour modifier le mot de passe comme expiré pour un utilisateur nommé james
, utilisez la commande suivante :
sudo passwd -e james
Ensuite, à l'aide du chage
commande, nous pouvons vérifier l'expiration du mot de passe de l'utilisateur james. Enfin, le chage
La commande est utilisée pour afficher et modifier les informations d'expiration du mot de passe utilisateur.
sudo chage -l james
Comme vous pouvez le voir dans la sortie ci-dessus, le mot de passe de l'utilisateur doit être modifié. Par conséquent, lorsque l'utilisateur james
essaie de se reconnecter, il sera invité à changer son mot de passe avant de pouvoir accéder à un shell, comme illustré dans l'écran suivant :
Comment supprimer un mot de passe utilisateur sous Linux
Si vous souhaitez créer un compte utilisateur sans mot de passe, vous pouvez utiliser le -d
(--delete
) avec l'option passwd
commande. C'est un moyen rapide de désactiver un mot de passe pour un compte.
Par exemple, tapez la commande suivante pour supprimer le mot de passe d'un utilisateur appelé james
:
sudo passwd -d james
La commande ci-dessus supprime le mot de passe d'un utilisateur (rendez-le vide). Bien que cela soit possible et que vous puissiez avoir un compte sans mot de passe, cela n'est pas conseillé car tout le monde ne pourra saisir que le nom d'utilisateur du compte pour accéder au système.
Comme vous pouvez le voir, le système ne nécessite plus de mot de passe pour l'authentification de l'utilisateur james
.
Comment désactiver le mot de passe utilisateur sous Linux
Vous pouvez empêcher les utilisateurs de se connecter en verrouillant le mot de passe du compte. Utilisez le passwd
commande avec le -l
(--lock
) option ajoutée, suivie du nom d'utilisateur.
sudo passwd -l james
Le -l
L'option désactive un mot de passe en le remplaçant par une valeur qui ne correspond à aucune valeur cryptée possible. Par conséquent, l'utilisateur ne pourra pas se connecter.
Ainsi, lorsque l'utilisateur james
essaie ensuite de se connecter, son mot de passe est rejeté et il reçoit une erreur d'authentification.
Bien sûr, si l'utilisateur james
s'authentifie via une connexion SSH sans mot de passe basée sur un échange de clé publique/privée, la désactivation du mot de passe n'empêchera pas son accès au système.
C'est donc aussi une bonne idée, en plus, de définir le shell utilisateur sur nologin
pour éviter les problèmes de sécurité :
sudo usermod -s /usr/sbin/nologin james
Vous pouvez utiliser le -u
(--unlock
) switch pour déverrouiller l'utilisateur james
compte.
sudo passwd -u james
Réinitialisez ensuite son shell de connexion sur /bin/bash
.
sudo usermod -s /bin/bash james
Vérifier l'état du mot de passe d'un utilisateur
Lorsqu'il s'agit d'audits et de gestion interne, la vérification de l'état du mot de passe d'un utilisateur est un outil précieux pour les administrateurs système.
Vérifions donc l'état du mot de passe d'un utilisateur pour l'utilisateur james
. Tout d'abord, ouvrez un terminal et exécutez le passwd
commande avec le -S
(--status
) commutateur.
sudo passwd -S james
Comme vous pouvez le voir, les informations d'état se composent de sept champs. Alors décomposons-les un par un.
- Le premier champ est le nom de connexion de l'utilisateur.
- Le deuxième champ indique si le compte utilisateur a un mot de passe verrouillé (L), n'a pas de mot de passe (NP) ou a un mot de passe utilisable (P).
- Le troisième champ indique la date du dernier changement de mot de passe.
- Le quatrième champ indique la durée de vie minimale du mot de passe en jours avant qu'il ne puisse être modifié.
- Le cinquième champ correspond à la durée de vie maximale du mot de passe en jours avant qu'il ne doive être modifié.
- Le sixième champ est le nombre de jours avant l'expiration de la durée de vie du mot de passe lorsque l'utilisateur commencera à recevoir des avertissements.
- Le septième champ est le nombre de jours après l'expiration de la durée de vie du mot de passe lorsque l'utilisateur est désactivé.
De plus, le -Sa
switch est utile si vous souhaitez répertorier l'état du mot de passe pour tous les utilisateurs.
sudo passwd -Sa
Nous pouvons voir tous les utilisateurs sur notre machine Linux ici, mais les trois vrais utilisateurs sont root
, linuxiac
, et james
.
Conclusion
Dans ce guide, vous avez appris à modifier, supprimer ou désactiver les mots de passe d'un utilisateur sous Linux. De plus, vous savez maintenant comment vérifier l'état du mot de passe d'un utilisateur. Les conseils donnés dans ce guide rapide devraient fonctionner avec n'importe quelle distribution Linux.
Pour plus d'informations sur le passwd
commande sous Linux, vous pouvez vous diriger vers la page de manuel de la commande.