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 ainsi que 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 commandes « useradd » pour gérer les comptes d'utilisateurs sous Linux
- 15 exemples de commandes « usermod » pour changer/modifier les noms de comptes d'utilisateurs 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 d'un utilisateur après un certain temps lorsqu'un compte d'utilisateur peut devenir inactif pendant une longue période, ou lorsque 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 afin de 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'utilisateur sur mon système, à savoir l'utilisateur tecmint et l'utilisateur linuxsay avec leurs répertoires personnels. /home/tecmint et /home/linusay respectivement en utilisant la commande adduser.
adduser tecmint
passwd tecmint
adduser linuxsay
passwd linuxsay
À partir de la capture d'écran ci-dessus, j'ai utilisé la commande adduser pour créer des comptes d'utilisateurs sous Linux. Vous pouvez également utiliser la commande useradd, 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 en utilisant 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 les commandes deluser et userdel déterminent comment elles géreront tous les fichiers et répertoires utilisateur lorsque vous exécuterez la commande.
Regardons le fichier de configuration de la commande deluser qui est /etc/deluser.conf
sur les dérivés de Debian tels que Ubuntu, Kali, Mint et pour RHEL/CentOS/Fedora utilisateurs, vous pouvez afficher les fichiers /etc/login.defs
.
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 ordinateur 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 les utilisateurs ne peuvent être supprimés efficacement que s'ils ne sont pas connectés au serveur.
Verrouiller les comptes d'utilisateurs sous Linux
Commencez par verrouiller le mot de passe du compte utilisateur afin que l'utilisateur n'ait aucun accès au système. Cela empêchera un utilisateur d'exécuter des processus sur le système.
La commande passwd incluant l'option –lock peut vous aider à y parvenir :
# passwd --lock tecmint
Locking password for user tecmint.
passwd: Success
Rechercher et tuer tous les processus en cours de l'utilisateur
Ensuite, découvrez tous les processus en cours d'exécution du compte utilisateur et supprimez-les en déterminant les PID (ID de processus) des processus appartenant à l'utilisateur en 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, de PID, de PPID (ID de processus parent), de terminal utilisé, d'état du processus, de 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 arrêter ces processus en cours d'exécution, comme indiqué.
killall -9 -u tecmint
Le -9 est le numéro du signal SIGKILL ou utilisez -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 recevrez le message d'erreur suivant :
-bash: killall: command not found
Pour corriger cette 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 lorsque le besoin s'en fait sentir 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
Vous pouvez désormais supprimer en toute sécurité un utilisateur ainsi que son répertoire personnel. Pour supprimer tous les fichiers utilisateur du système, utilisez l'option --remove-all-files
dans la commande ci-dessous :
deluser --remove-home tecmint [On Debian and its derivatives]
userdel --remove tecmint [On RedHat/CentOS based systems]
Résumé
Tout cela concerne 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 d'autres idées en laissant un commentaire.