GNU/Linux >> Tutoriels Linux >  >> Linux

Comment verrouiller et déverrouiller l'utilisateur sous Linux

3 façons de verrouiller et de déverrouiller des comptes d'utilisateurs sous Linux

Il peut y avoir un certain nombre de raisons pour lesquelles vous voudriez désactiver un utilisateur dans votre environnement Linux multi-utilisateurs. Peut-être qu'un employé a quitté l'organisation et au lieu de supprimer complètement l'utilisateur, verrouille le compte à des fins d'archivage.

Dans ce tutoriel, je vais vous montrer trois façons de verrouiller un utilisateur en ligne de commande Linux. Je vais également discuter de la façon de déverrouiller l'utilisateur.

Veuillez noter que pour effectuer ces modifications, vous devez être root ou avoir un accès root via sudo .

Méthode 1 :Verrouiller et déverrouiller les utilisateurs avec la commande passwd

La commande passwd sous Linux traite des mots de passe d'un compte utilisateur. Vous pouvez également utiliser cette commande pour verrouiller un compte utilisateur.

La commande fonctionne essentiellement sur le fichier /etc/passwd. Vous pouvez modifier manuellement ce fichier mais je vous le déconseille.

Pour verrouiller un utilisateur avec la commande passwd, vous pouvez utiliser l'option -l ou –lock de cette manière :

passwd -l user_name

Vérifier le statut d'un utilisateur avec la commande passwd

Vous pouvez savoir si un utilisateur est verrouillé ou déverrouillé à l'aide de l'option -S ou –status de la commande passwd.

passwd -S nom_utilisateur

Regardez le deuxième champ dans la sortie. Voici ce que cela signifie :

– P ou PS :le mot de passe est défini (l'utilisateur est déverrouillé)
– L ou LK :l'utilisateur est verrouillé
– N ou NP :aucun mot de passe n'est requis par l'utilisateur

Voici un exemple de sortie de la commande passwd :

norme P 14/10/2019 0 99999 7 -1

Pour déverrouiller l'utilisateur avec la commande passwd, vous pouvez utiliser l'option -u ou –unlock :

passwd -u user_name

Sur Ubuntu, vous verrez une sortie comme celle-ci pour verrouiller et déverrouiller l'utilisateur :

passwd: password expiry information changed

Qu'en est-il de la connexion via SSH ?

Il y a un problème majeur avec le verrouillage des utilisateurs de cette façon. Comme cela ne fonctionne qu'avec le fichier /etc/passwd, l'utilisateur verrouillé pourra toujours se connecter via les clés SSH (si la connexion via la clé SSH est définie). Je vais vous montrer comment y faire face dans la section suivante.

Méthode 2 :Verrouiller et déverrouiller les utilisateurs avec la commande usermod

Vous pouvez également utiliser la commande usermod. La commande est principalement utilisée pour modifier les comptes d'utilisateurs sous Linux. Vous pouvez également modifier l'état d'un utilisateur en verrouillant ou en déverrouillant avec usermod.

Pour verrouiller l'utilisateur, vous pouvez utiliser l'option -L de cette manière :

usermod -L user_name

Pour déverrouiller l'utilisateur, vous pouvez utiliser l'option -U :

usermod -U user_name

Comment vérifier si l'utilisateur est verrouillé ou non ? La commande usermod fonctionne également sur le fichier /etc/passwd afin que vous puissiez utiliser la commande passwd -S user_name pour vérifier le statut de l'utilisateur.

Mais usermod fonctionne également avec le fichier /etc/passwd, ce qui signifie que l'utilisateur verrouillé peut toujours se connecter via des clés SSH, n'est-ce pas ? C'est exact. Mais il existe des moyens de surmonter ce problème.

Par exemple, vous pouvez changer le shell de l'utilisateur en nologin et cela ne permettra pas à l'utilisateur de se connecter à un shell.

Une autre méthode consiste à verrouiller l'utilisateur et à fournir une date d'expiration dans le passé. Ce qu'il fait, c'est qu'il désactive le compte à une date passée, puis le verrouille.

Assurez-vous que la date passée est comprise entre le 02/01/1970 et la date actuelle.

usermod -L --expiredate 1970-01-02 user_name

Vous pouvez l'inverser avec cette commande :

usermod -U --expiredate '' user_name

Il existe une manière similaire de verrouiller l'utilisateur sous Linux avec la commande chage. Voyons cela dans la section suivante.

Méthode 3 :Verrouiller et déverrouiller les utilisateurs avec la commande chage

La commande chage est utilisée pour modifier les informations d'expiration du mot de passe utilisateur. Il peut être utilisé pour verrouiller automatiquement un utilisateur inactif après un certain nombre de jours d'inactivité.

Fondamentalement, ce que vous avez fait avec la commande usermod dans la section précédente peut être réalisé avec la commande chage comme celle-ci :

chage -E 1 username

Fondamentalement, vous avez défini la date d'expiration sur 1970-01-02. Vous pouvez voir les détails comme ceci :

[email protected]:~$ sudo chage -l standard
Last password change					: Nov 07, 2019
Password expires					: never
Password inactive					: never
Account expires						: Jan 02, 1970
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

Vous pouvez supprimer la date d'expiration et ainsi déverrouiller l'utilisateur de cette manière :

chage -E -1 username

En fin de compte…

Comme toujours, il existe différentes manières d'accomplir une tâche en ligne de commande Linux. J'ai montré ici trois méthodes pour verrouiller et déverrouiller les utilisateurs sous Linux. Connaissez-vous un meilleur moyen ou avez-vous des suggestions de meilleures pratiques pour verrouiller les utilisateurs ? Partagez-le dans la section des commentaires.


Linux
  1. Qu'est-ce qu'une commande Chown sous Linux et comment l'utiliser

  2. Commande Linux su

  3. UNIX / Linux :Comment verrouiller ou désactiver un compte utilisateur

  4. Comment désactiver une commande spécifique pour un utilisateur spécifique sous Linux

  5. Comment limiter les commandes utilisateur sous Linux

Commande Linux id - Imprimer les informations d'ID utilisateur et d'ID de groupe

Comment installer et utiliser la commande locate sous Linux

Comment installer et utiliser la commande Ping sous Linux

Comment installer et utiliser la commande fd sous Linux

Comment répertorier les utilisateurs et les groupes sous Linux

Comment créer et gérer de nouveaux utilisateurs sous Linux