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:
- 15 “useradd”-opdrachtvoorbeelden om gebruikersaccounts in Linux te beheren
- 15 “usermod”-opdrachtvoorbeelden om gebruikersaccountnamen in Linux te wijzigen/aan te passen
- 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.