Com esborrar comptes d'usuari amb el directori d'inici a Linux


En aquest tutorial, faré els passos que podeu utilitzar per eliminar el compte d'un usuari juntament amb el seu directori d'inici en un sistema Linux.

Per saber com crear comptes d'usuari i gestionar-los en sistemes Linux, llegiu els articles següents als enllaços següents:

  1. 15 exemples d'ordres useradd per gestionar comptes d'usuari a Linux
  2. 15 exemples d'ordres usermod per canviar/modificar els noms dels comptes d'usuari a Linux
  3. Com gestionar usuaris i grups amb permisos de fitxers a Linux

Com a administrador del sistema a Linux, és possible que hàgiu d'eliminar el compte d'usuari després d'un moment en què un compte d'usuari pot quedar inactiu durant tant de temps, o l'usuari pot abandonar l'organització o l'empresa o qualsevol altre motiu.

Quan elimineu els comptes d'usuari en un sistema Linux, també és important eliminar el seu directori d'inici per alliberar espai als dispositius d'emmagatzematge per a usuaris nous del sistema o altres serveis.

Suprimir/eliminar un compte d'usuari amb el seu directori d'inici

1. Amb finalitats de demostració, primer començaré creant dos comptes d'usuari al meu sistema que són l'usuari tecmint i l'usuari linuxsay amb els seus directoris d'inici /home/tecmint i /home/linusay respectivament utilitzant l'ordre adduser.

# adduser tecmint
# passwd tecmint

# adduser linuxsay
# passwd linuxsay

A la captura de pantalla anterior, he utilitzat l'ordre adduser per crear comptes d'usuari a Linux. També podeu utilitzar l'ordre useradd, tots dos són iguals i fan la mateixa feina.

2. Anem més endavant per veure com esborrar o eliminar comptes d'usuari a Linux mitjançant l'ordre deluser (per a Debian i els seus derivats) i userdel (per a sistemes basats en RedHat/CentOS).

Les directives dins del fitxer de configuració per a les ordres deluser i userdel determinen com gestionarà tots els fitxers i el directori d'usuari quan executeu l'ordre.

Vegem el fitxer de configuració de l'ordre deluser que és /etc/deluser.conf en derivats de Debian com Ubuntu, Kali, Mint i per als usuaris de RHEL/CentOS/Fedora, podeu veure el /etc/deluser.conf./etc/login.defs.

Els valors d'aquesta configuració són per defecte i es poden canviar segons les vostres necessitats.

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

3. Per suprimir un usuari amb el directori d'inici, podeu utilitzar la manera avançada seguint aquests passos a la vostra màquina servidor Linux. Quan els usuaris inicien sessió al servidor, utilitzen serveis i executen diferents processos. És important tenir en compte que l'usuari només es pot suprimir de manera efectiva quan no està connectat al servidor.

Comenceu bloquejant la contrasenya del compte d'usuari perquè l'usuari no tingui accés al sistema. Això evitarà que un usuari executi processos al sistema.

L'ordre passwd que inclou l'opció –lock us pot ajudar a aconseguir-ho:

# passwd --lock tecmint

Locking password for user tecmint.
passwd: Success

A continuació, esbrineu tots els processos en execució del compte d'usuari i elimineu-los determinant els PID (ID de procés) dels processos propietat de l'usuari mitjançant:

# pgrep -u tecmint

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

A continuació, podeu llistar els processos intermedis de nom d'usuari, PID, PPID (ID de procés principal), terminal utilitzat, estat del procés, camí d'ordre en un estil de format complet amb l'ajuda de l'ordre següent, tal com es mostra:

# 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
....

Un cop trobeu tots els processos en execució de l'usuari, podeu utilitzar l'ordre killall per matar aquests processos en execució tal com es mostra.

# killall -9 -u tecmint

El -9 és el número de senyal per al senyal SIGKILL o utilitzeu -KILL en comptes de -9 i -u defineix el nom d'usuari.

Nota: a les versions recents de les versions RedHat/CentOS 7.x i Fedora 21+, rebreu un missatge d'error com:

-bash: killall: command not found

Per solucionar aquest error, heu d'instal·lar el paquet psmisc tal com es mostra:

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

A continuació, podeu fer una còpia de seguretat dels fitxers dels usuaris, això pot ser opcional, però es recomana per a un ús futur quan calgui revisar els detalls i els fitxers del compte d'usuari.

He utilitzat les utilitats tar per crear una còpia de seguretat del directori d'inici dels usuaris de la següent manera:

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

Ara podeu eliminar de manera segura l'usuari juntament amb el seu directori d'inici, per eliminar tots els fitxers d'usuari del sistema, utilitzeu l'opció --remove-all-files a l'ordre següent:

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

Resum

Això té a veure amb l'eliminació de l'usuari i el seu directori d'inici d'un sistema Linux. Crec que la guia és prou fàcil de seguir, però podeu expressar una preocupació o afegir més idea deixant un comentari.