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 :
- 15 exemples de commande "useradd" pour gérer les comptes d'utilisateurs sous Linux
- 15 exemples de commande "usermod" pour changer/modifier les noms de compte utilisateur sous Linux
- 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.