GNU/Linux >> Tutoriels Linux >  >> Linux

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

Il existe plusieurs façons de verrouiller ou de désactiver un compte utilisateur. Les articles traitent de quelques-uns des moyens les plus largement utilisés.

1. Verrouillez le mot de passe

Pour verrouiller un compte utilisateur, utilisez la commande usermod -L ou passwd -l . Les deux commandes ajoutent un point d'exclamation ("!") dans le deuxième champ du fichier /etc/passwd . Par exemple :

# usermod -L testuser

ou

# passwd -l testuser

2. Faire expirer le compte utilisateur

Les commandes passwd -l et usermod -L sont inefficaces lorsqu'il s'agit de désactiver/verrouiller des comptes d'utilisateurs. Ces commandes n'interdiront pas l'authentification par clés publiques SSH (ou d'autres modules PAM autres que pam_unix qui peuvent être activés). De plus, changer le shell en /bin/false ou /sbin/nologin ne nous satisfait pas car cela n'affecte que les connexions interactives. Donc, pour désactiver complètement les comptes d'utilisateurs, vous pouvez utiliser la commande chage -E0 . Par exemple :

# chage -E0 testuser

Expiration d'un compte via l'utilisation du 8ème champ dans /etc/shadow (en utilisant "chage -E") bloquera toutes les méthodes d'accès qui utilisent PAM pour authentifier un utilisateur.

3. Changer la coque

Nous pouvons également changer le shell par défaut de l'utilisateur en /sbin/nologin afin que l'utilisateur ne reçoive aucun shell de connexion lorsqu'il tente de se connecter au système.

# usermod -s /sbin/nologin [username]

Vous pouvez vérifier le 7ème et dernier champ dans /etc/passwd pour le changement de shell en /sbin/nologin.

Vérifiez si le compte est verrouillé ou désactivé.

Pour chacune des méthodes décrites ci-dessus, vous pouvez vérifier si le compte utilisateur est verrouillé/désactivé en utilisant les méthodes ci-dessous.

1. Vérifiez si le compte utilisateur est verrouillé.
Vérifiez le drapeau *LK* dans la sortie de commande ci-dessous qui indique que le compte est verrouillé.

# passwd --status root
root *LK* 2017-07-19 0 45 7 -1 (Password set, SHA512 crypt.)

2. Vérifiez si le compte a une date d'expiration.
Vérifiez les lignes Le mot de passe expire et Le compte expire pour vérifier si le mot de passe du compte a expiré.

# chage -l root
Last password change                                    : Jul 19, 2017
Password expires                                        : Sep 02, 2017
Password inactive                                       : never
Account expires                                         : Sep 02, 2017
Minimum number of days between password change          : 0
Maximum number of days between password change          : 45
Number of days of warning before password expires       : 7

3. Vérifier le shell non interactif
Vérifiez si le shell utilisateur a été remplacé par un shell non interactif comme /sbin/nologin .

# grep ^root /etc/passwd
root:x:0:0:root:/root:/sbin/nologin


Linux
  1. 4 façons de désactiver le compte racine sous Linux

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

  3. Comment créer manuellement un compte utilisateur Linux

  4. Comment verrouiller et déverrouiller l'utilisateur sous Linux

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

Comment changer le mot de passe utilisateur sous Linux

Comment ajouter un utilisateur à un groupe sous Linux

Méthodes pour désactiver le compte root sous Linux

Comment désactiver la connexion SSH à un utilisateur spécifique sous Linux

Comment changer d'utilisateur sous Linux

Comment créer un utilisateur sur Ubuntu Linux de plusieurs façons