In diesem Tutorial werde ich Sie durch die Schritte führen, mit denen Sie das Konto eines Benutzers zusammen mit seinem/ihrem Home-Verzeichnis auf einem Linux-System löschen können.
Um zu erfahren, wie Sie Benutzerkonten erstellen und sie auf Linux-Systemen verwalten, lesen Sie die folgenden Artikel über die folgenden Links:
- 15 „useradd“-Befehlsbeispiele zum Verwalten von Benutzerkonten unter Linux
- 15 „usermod“-Befehlsbeispiele zum Ändern/Modifizieren von Benutzerkontonamen in Linux
- Verwalten von Benutzern und Gruppen mit Dateiberechtigungen in Linux
Als Systemadministrator Unter Linux müssen Sie möglicherweise das Benutzerkonto irgendwann entfernen, wenn ein Benutzerkonto so lange inaktiv ist oder Benutzer die Organisation oder das Unternehmen verlassen oder aus anderen Gründen.
Beim Entfernen von Benutzerkonten auf einem Linux-System ist es auch wichtig, ihr Home-Verzeichnis zu entfernen, um Speicherplatz auf den Speichergeräten für neue Systembenutzer oder andere Dienste freizugeben.
Löschen/Entfernen eines Benutzerkontos mit seinem/ihrem Home-Verzeichnis
1. Zu Demonstrationszwecken werde ich zunächst damit beginnen, zwei Benutzerkonten auf meinem System zu erstellen, nämlich den Benutzer tecmint und Benutzer linuxsay mit ihren Heimatverzeichnissen /home/tecmint und /home/linusay bzw. mit adduser Befehl.
# adduser tecmint # passwd tecmint # adduser linuxsay # passwd linuxsay
Aus dem Screenshot oben habe ich den adduser verwendet Befehl zum Erstellen von Benutzerkonten unter Linux. Sie können auch useradd verwenden Befehl, beide sind gleich und machen die gleiche Arbeit.
2. Gehen wir nun weiter, um zu sehen, wie man Benutzerkonten in Linux mit deluser löscht oder entfernt (Für Debian und seine Derivate) und userdel (Für RedHat/CentOS-basierte Systeme) Befehl.
Die Anweisungen in der Konfigurationsdatei für deluser und userdel Befehle bestimmen, wie dieser mit allen Benutzerdateien und Verzeichnissen umgeht, wenn Sie den Befehl ausführen.
Sehen wir uns die Konfigurationsdatei für den deluser an Befehl, der /etc/deluser.conf
ist Auf Debian-Derivaten wie Ubuntu, Kali, Mint und für Benutzer von RHEL/CentOS/Fedora können Sie die /etc/login.defs
anzeigen Dateien.
Die Werte in dieser Konfiguration sind Standardwerte und können je nach Bedarf geändert werden.
# vi /etc/deluser.conf [On Debian and its derivatives] # vi /etc/login.defs [On RedHat/CentOS based systems]
3. Um einen Benutzer mit Home-Verzeichnis zu löschen, können Sie die erweiterte Methode verwenden, indem Sie diese Schritte auf Ihrem Linux-Servercomputer ausführen. Wenn Benutzer am Server angemeldet sind, verwenden sie Dienste und führen verschiedene Prozesse aus. Es ist wichtig zu beachten, dass Benutzer nur wirksam gelöscht werden können, wenn sie nicht am Server angemeldet sind.
Benutzerkonten unter Linux sperren
Beginnen Sie damit, das Passwort des Benutzerkontos zu sperren, damit der Benutzer keinen Zugriff auf das System hat. Dadurch wird verhindert, dass ein Benutzer Prozesse auf dem System ausführt.
Das Passwort Befehl einschließlich des –lock Option kann Ihnen dabei helfen:
# passwd --lock tecmint Locking password for user tecmint. passwd: Success
Alle laufenden Prozesse des Benutzers finden und beenden
Finden Sie als nächstes alle laufenden Prozesse des Benutzerkontos heraus und beenden Sie sie, indem Sie die PIDs bestimmen (Prozess-IDs ) von Prozessen, die dem Benutzer gehören, mit:
# pgrep -u tecmint 1947 1959 2091 2094 2095 2168 2175 2179 2183 2188 2190 2202 2207 2212 2214
Dann können Sie die Prozesse hinsichtlich Benutzername, PIDs, PPIDs (Parent Process IDs), verwendetem Terminal, Prozessstatus, Befehlspfad in einem vollständigen Formatierungsstil mit Hilfe des folgenden Befehls wie gezeigt auflisten:
# 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 ....
Sobald Sie alle laufenden Prozesse des Benutzers gefunden haben, können Sie den Befehl killall verwenden, um diese laufenden Prozesse wie gezeigt zu beenden.
# killall -9 -u tecmint
Die -9 ist die Signalnummer für SIGKILL signalisieren oder -KILL verwenden statt -9 und -u definiert den Benutzernamen.
Hinweis :In neueren Versionen von RedHat/CentOS 7.x-Versionen und Fedora 21+ erhalten Sie folgende Fehlermeldung:
-bash: killall: command not found
Um einen solchen Fehler zu beheben, müssen Sie das psmisc-Paket wie gezeigt installieren:
# yum install psmisc [On RedHat/CentOS 7.x] # dnf install psmisc [On Fedora 21+ versions]
Benutzerdaten vor dem Löschen sichern
Als nächstes können Sie Benutzerdateien sichern, dies kann optional sein, wird aber für die zukünftige Verwendung empfohlen, wenn es erforderlich ist, Benutzerkontodetails und -dateien zu überprüfen.
Ich habe die tar-Dienstprogramme verwendet, um ein Backup des Home-Verzeichnisses des Benutzers wie folgt zu erstellen:
# tar jcvf /user-backups/tecmint-home-directory-backup.tar.bz2 /home/tecmint
Benutzerkonto und Dateien löschen/entfernen
Jetzt können Sie den Benutzer zusammen mit seinem Home-Verzeichnis sicher entfernen, um alle Benutzerdateien auf dem System zu entfernen, verwenden Sie den --remove-all-files
Option im folgenden Befehl:
# deluser --remove-home tecmint [On Debian and its derivatives] # userdel --remove tecmint [On RedHat/CentOS based systems]
Zusammenfassung
Das hat alles mit dem Entfernen von Benutzern und ihrem Home-Verzeichnis von einem Linux-System zu tun. Ich glaube, dass der Leitfaden leicht zu befolgen ist, aber Sie können Bedenken äußern oder weitere Ideen hinzufügen, indem Sie einen Kommentar hinterlassen.