Zoeken op website

Hoe gebruikersaccounts met de thuismap in Linux te verwijderen


In deze zelfstudie ga ik de stappen doorlopen die u kunt gebruiken om het account van een gebruiker samen met zijn/haar thuismap op een Linux-systeem te verwijderen.

Om te leren hoe u gebruikersaccounts kunt aanmaken en beheren op Linux-systemen, leest u de volgende artikelen via de onderstaande links:

  1. 15 “useradd”-opdrachtvoorbeelden om gebruikersaccounts in Linux te beheren
  2. 15 “usermod”-opdrachtvoorbeelden om gebruikersaccountnamen in Linux te wijzigen/aan te passen
  3. Hoe gebruikers en groepen te beheren met bestandsrechten in Linux

Als systeembeheerder in Linux moet u mogelijk een gebruikersaccount verwijderen als een gebruikersaccount zo lang inactief kan zijn, of als de gebruiker de organisatie of het bedrijf verlaat of om andere redenen.

Bij het verwijderen van gebruikersaccounts op een Linux-systeem is het ook belangrijk om hun thuismap te verwijderen om ruimte op de opslagapparaten vrij te maken voor nieuwe systeemgebruikers of andere services.

Een gebruikersaccount verwijderen/verwijderen met zijn/haar thuismap

1. Voor demonstratiedoeleinden zal ik eerst beginnen met het maken van twee gebruikersaccounts op mijn systeem, namelijk gebruiker tecmint en gebruiker linuxsay met hun thuismappen /home/tecmint en /home/linusay respectievelijk met behulp van de opdracht adduser.

adduser tecmint
passwd tecmint

adduser linuxsay
passwd linuxsay

Uit de bovenstaande schermafbeelding heb ik de opdracht adduser gebruikt om gebruikersaccounts op Linux aan te maken. Je kunt ook de opdracht useradd gebruiken, beide zijn hetzelfde en doen hetzelfde werk.

2. Laten we nu verder gaan om te zien hoe gebruikersaccounts in Linux kunnen worden verwijderd of verwijderd met behulp van deluser (voor Debian en zijn derivaten) en userdel ( Voor op RedHat/CentOS gebaseerde systemen) opdracht.

De richtlijnen in het configuratiebestand voor de commando's deluser en userdel bepalen hoe alle gebruikersbestanden en directory's worden afgehandeld wanneer u de opdracht uitvoert.

Laten we eens kijken naar het configuratiebestand voor het deluser commando dat /etc/deluser.conf is op Debian-derivaten zoals Ubuntu, Kali, Mint en voor RHEL/CentOS/Fedora gebruikers, kunt u de /etc/login.defs bestanden bekijken.

De waarden in deze configuratie zijn standaard en kunnen naar wens worden gewijzigd.

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

3. Om een gebruiker met een thuismap te verwijderen, kunt u de geavanceerde manier gebruiken door deze stappen op uw Linux-servermachine te volgen. Wanneer gebruikers zijn aangemeld bij de server, gebruiken ze services en voeren ze verschillende processen uit. Het is belangrijk op te merken dat gebruikers alleen effectief kunnen worden verwijderd als ze niet zijn aangemeld bij de server.

Vergrendel gebruikersaccounts in Linux

Begin met het vergrendelen van het wachtwoord van de gebruikersaccount, zodat de gebruiker geen toegang heeft tot het systeem. Dit voorkomt dat een gebruiker processen op het systeem uitvoert.

Het passwd commando inclusief de –lock optie kan je helpen dit te bereiken:

# passwd --lock tecmint

Locking password for user tecmint.
passwd: Success

Zoek en beëindig alle actieve processen van de gebruiker

Ontdek vervolgens alle actieve processen van het gebruikersaccount en beëindig ze door de PID's (Proces-ID's) te bepalen van processen die eigendom zijn van de gebruiker met behulp van:

# pgrep -u tecmint

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

Vervolgens kunt u de processen met gebruikersnaam, PID's, PPID's (Parent Process ID's), gebruikte terminal, processtatus en opdrachtpad in een volledige opmaakstijl weergeven met behulp van de volgende opdracht, zoals weergegeven:

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

Zodra u alle actieve processen van de gebruiker hebt gevonden, kunt u de opdracht killall gebruiken om die actieve processen te beëindigen, zoals weergegeven.

killall -9 -u tecmint

De -9 is het signaalnummer voor het SIGKILL signaal of gebruik -KILL in plaats van -9 en >-u definieert gebruikersnaam.

Opmerking: In recente releases van RedHat/CentOS 7.x versies en Fedora 21+ krijg je een foutmelding als:

-bash: killall: command not found

Om een dergelijke fout op te lossen, moet u het psmisc-pakket installeren zoals weergegeven:

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

Maak een back-up van gebruikersgegevens voordat u deze verwijdert

Vervolgens kunt u een back-up maken van gebruikersbestanden. Dit kan optioneel zijn, maar het wordt aanbevolen voor toekomstig gebruik wanneer de noodzaak zich voordoet om gebruikersaccountgegevens en bestanden te bekijken.

Ik heb de tar-hulpprogramma's als volgt gebruikt om een back-up te maken van de thuismap van de gebruiker:

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

Verwijder/verwijder gebruikersaccount en bestanden

Nu kunt u de gebruiker samen met zijn/haar thuismap veilig verwijderen. Om alle gebruikersbestanden op het systeem te verwijderen, gebruikt u de optie --remove-all-files in het onderstaande commando:

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

Samenvatting

Dat heeft alles te maken met het verwijderen van de gebruiker en zijn thuismap van een Linux-systeem. Ik denk dat de gids eenvoudig genoeg is om te volgen, maar je kunt je zorgen uiten of meer ideeën toevoegen door een reactie achter te laten.