GNU/Linux >> Tutoriels Linux >  >> Linux

Comment supprimer des comptes d'utilisateurs avec le répertoire personnel sous Linux

Dans ce didacticiel, je vais vous expliquer les étapes que vous pouvez utiliser pour supprimer le compte d'un utilisateur avec son répertoire personnel sur un système Linux.

Pour savoir comment créer des comptes d'utilisateurs et les gérer sur les systèmes Linux, lisez les articles suivants à partir des liens ci-dessous :

  1. 15 exemples de commande "useradd" pour gérer les comptes d'utilisateurs sous Linux
  2. 15 exemples de commande "usermod" pour changer/modifier les noms de compte utilisateur sous Linux
  3. Comment gérer les utilisateurs et les groupes avec des autorisations de fichiers sous Linux

En tant qu'administrateur système sous Linux, vous devrez peut-être supprimer le compte des utilisateurs après un certain temps lorsqu'un compte d'utilisateur peut devenir inactif pendant si longtemps, ou que l'utilisateur peut quitter l'organisation ou l'entreprise ou pour toute autre raison.

Lors de la suppression de comptes d'utilisateurs sur un système Linux, il est également important de supprimer leur répertoire personnel pour libérer de l'espace sur les périphériques de stockage pour les nouveaux utilisateurs du système ou d'autres services.

Supprimer/supprimer un compte utilisateur avec son répertoire personnel

1. À des fins de démonstration, je vais d'abord commencer par créer deux comptes d'utilisateurs sur mon système, l'utilisateur tecmint et l'utilisateur linuxsay avec leurs répertoires personnels /home/tecmint et /home/linusay respectivement en utilisant adduser commande.

# adduser tecmint
# passwd tecmint

# adduser linuxsay
# passwd linuxsay

À partir de la capture d'écran ci-dessus, j'ai utilisé le adduser commande pour créer des comptes d'utilisateurs sous Linux. Vous pouvez également utiliser useradd commande, les deux sont identiques et font le même travail.

2. Allons maintenant plus loin pour voir comment supprimer ou supprimer des comptes d'utilisateurs sous Linux à l'aide de deluser (Pour Debian et ses dérivés) et userdel (Pour les systèmes basés sur RedHat/CentOS).

Les directives à l'intérieur du fichier de configuration pour deluser et userdel Les commandes déterminent comment elle gérera tous les fichiers et répertoires utilisateur lorsque vous exécuterez la commande.

Regardons le fichier de configuration pour le deluser commande qui est /etc/deluser.conf sur les dérivés de Debian comme Ubuntu, Kali, Mint et pour les utilisateurs de RHEL/CentOS/Fedora, vous pouvez voir le /etc/login.defs fichiers.

Les valeurs de ces configurations sont par défaut et peuvent être modifiées selon vos besoins.

# vi /etc/deluser.conf         [On Debian and its derivatives]
# vi /etc/login.defs           [On RedHat/CentOS based systems]

3. Pour supprimer un utilisateur avec un répertoire personnel, vous pouvez utiliser la méthode avancée en suivant ces étapes sur votre machine serveur Linux. Lorsque les utilisateurs sont connectés au serveur, ils utilisent des services et exécutent différents processus. Il est important de noter que l'utilisateur ne peut être supprimé efficacement que s'il n'est pas connecté au serveur.

Verrouiller les comptes utilisateur sous Linux

Commencez par verrouiller le mot de passe du compte utilisateur afin que l'utilisateur n'ait pas accès au système. Cela empêchera un utilisateur d'exécuter des processus sur le système.

Le mot de passe commande comprenant la –lock option peut vous aider à atteindre cet objectif :

# passwd --lock tecmint

Locking password for user tecmint.
passwd: Success

Rechercher et tuer tous les processus en cours d'exécution de l'utilisateur

Ensuite, découvrez tous les processus en cours d'exécution du compte d'utilisateur et tuez-les en déterminant les PID (ID de processus ) des processus appartenant à l'utilisateur utilisant :

# pgrep -u tecmint

1947
1959
2091
2094
2095
2168
2175
2179
2183
2188
2190
2202
2207
2212
2214

Ensuite, vous pouvez répertorier les processus en termes de nom d'utilisateur, PID, PPID (ID de processus parent), terminal utilisé, état du processus, chemin de commande dans un style de formatage complet à l'aide de la commande suivante, comme indiqué :

# ps -f --pid $(pgrep -u tecmint)

UID        PID  PPID  C STIME TTY      STAT   TIME CMD
tecmint   1947     1  0 10:49 ?        SLl    0:00 /usr/bin/gnome-keyring-daemon --daemonize --login
tecmint   1959  1280  0 10:49 ?        Ssl    0:00 mate-session
tecmint   2091  1959  0 10:49 ?        Ss     0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/im-launch mate-session
tecmint   2094     1  0 10:49 ?        S      0:00 /usr/bin/dbus-launch --exit-with-session /usr/bin/im-launch mate-session
tecmint   2095     1  0 10:49 ?        Ss     0:00 //bin/dbus-daemon --fork --print-pid 6 --print-address 9 --session
tecmint   2168     1  0 10:49 ?        Sl     0:00 /usr/lib/dconf/dconf-service
tecmint   2175  1959  0 10:49 ?        Sl     0:02 /usr/bin/mate-settings-daemon
tecmint   2179  1959  0 10:49 ?        Sl     0:47 marco
tecmint   2183     1  0 10:49 ?        Sl     0:00 /usr/lib/gvfs/gvfsd
tecmint   2188  1959  0 10:49 ?        Sl     0:00 mate-panel
tecmint   2190     1  0 10:49 ?        Sl     0:00 /usr/lib/gvfs/gvfsd-fuse /run/user/1000/gvfs -f -o big_writes
tecmint   2202     1  0 10:49 ?        S<l    0:20 /usr/bin/pulseaudio --start --log-target=syslog
tecmint   2207  1959  0 10:49 ?        S      0:00 /bin/sh /usr/bin/startcaja
tecmint   2212     1  0 10:49 ?        Sl     0:03 /usr/bin/python /usr/lib/linuxmint/mintMenu/mintMenu.py
tecmint   2214     1  0 10:49 ?        Sl     0:11 /usr/lib/mate-panel/wnck-applet
....

Une fois que vous avez trouvé tous les processus en cours d'exécution de l'utilisateur, vous pouvez utiliser la commande killall pour tuer ces processus en cours d'exécution, comme indiqué.

# killall -9 -u tecmint

Le -9 est le numéro de signal pour le SIGKILL signaler ou utiliser -KILL au lieu de -9 et -u définit le nom d'utilisateur.

Remarque  :Dans les versions récentes des versions RedHat/CentOS 7.x et Fedora 21+, vous obtiendrez le message d'erreur suivant :

-bash: killall: command not found

Pour corriger une telle erreur, vous devez installer le package psmisc comme indiqué :

# yum install psmisc       [On RedHat/CentOS 7.x]
# dnf install psmisc       [On Fedora 21+ versions]

Sauvegarder les données utilisateur avant de les supprimer

Ensuite, vous pouvez sauvegarder les fichiers des utilisateurs, cela peut être facultatif, mais il est recommandé pour une utilisation future en cas de besoin de vérifier les détails et les fichiers du compte utilisateur.

J'ai utilisé les utilitaires tar pour créer une sauvegarde du répertoire personnel des utilisateurs comme suit :

# tar jcvf /user-backups/tecmint-home-directory-backup.tar.bz2 /home/tecmint

Supprimer/supprimer le compte utilisateur et les fichiers

Maintenant, vous pouvez supprimer en toute sécurité l'utilisateur avec son répertoire personnel, pour supprimer tous les fichiers utilisateur du système, utilisez le --remove-all-files option dans la commande ci-dessous :

# deluser --remove-home tecmint      [On Debian and its derivatives]
# userdel --remove tecmint           [On RedHat/CentOS based systems]

Résumé

Cela a tout à voir avec la suppression de l'utilisateur et de son répertoire personnel d'un système Linux. Je pense que le guide est assez facile à suivre, mais vous pouvez exprimer une préoccupation ou ajouter une idée en laissant un commentaire.


Linux
  1. Comment créer plusieurs comptes d'utilisateurs sous Linux

  2. Ajouter un utilisateur au groupe sous Linux, comment le faire (avec exemples)

  3. Comment créer et supprimer un groupe d'utilisateurs sous Linux

  4. Comment gérer les utilisateurs avec useradd sous Linux

  5. Comment trouver le répertoire personnel d'un utilisateur sous Linux ou Unix ?

Comment supprimer (supprimer) le répertoire sous Linux

Trouver des comptes d'utilisateurs avec un mot de passe vide sous Linux

Créer un répertoire personnel pour un utilisateur existant sous Linux

Supprimer des utilisateurs sous Linux avec la commande Userdel

Comment se connecter avec Samba à Linux Active Directory

Comment créer/ajouter des utilisateurs sous Linux