So löschen Sie einen Benutzer unter Linux (und entfernen jede Spur)

Das Löschen eines Benutzers unter Linux umfasst mehr als Sie denken. Wenn Sie ein Systemadministrator sind, sollten Sie alle Spuren des Kontos und seines Zugriffs von Ihren Systemen entfernen. Wir zeigen Ihnen die Schritte.

Wenn Sie nur ein Benutzerkonto von Ihrem System löschen möchten und keine Bedenken haben, laufende Prozesse und andere Bereinigungsaufgaben zu beenden, befolgen Sie die Schritte im Abschnitt „Löschen des Benutzerkontos“ unten. Sie benötigen den Befehl deluser auf Debian-basierten Distributionen und den Befehl userdel auf anderen Linux-Distributionen.

Benutzerkonten unter Linux

Seit dem erste Time-Sharing-Systeme erschienen Anfang der 1960er Jahre und die Möglichkeit für mehrere Benutzer, an einem einzigen Computer zu arbeiten, mit sich brachte, bestand die Notwendigkeit, die Dateien und Daten jedes Benutzers von allen anderen Benutzern zu isolieren und zu unterteilen. Also Benutzerkonten—und Passwörter-wurden geboren.

Benutzerkonten haben einen administrativen Aufwand. Sie müssen erstellt werden, wenn der Benutzer zum ersten Mal Zugriff auf den Computer benötigt. Sie müssen entfernt werden, wenn dieser Zugriff nicht mehr erforderlich ist. Unter Linux gibt es eine Reihe von Schritten, die befolgt werden sollten, um den Benutzer, seine Dateien und sein Konto korrekt und methodisch vom Computer zu entfernen.

Wenn Sie der Systemadministrator sind, liegt diese Verantwortung bei Ihnen. So gehen Sie vor.

Unser Szenario

Es gibt eine Reihe von Gründen, warum ein Konto möglicherweise gelöscht werden muss. Möglicherweise wechselt ein Mitarbeiter in ein anderes Team oder verlässt das Unternehmen ganz. Das Konto wurde möglicherweise für eine kurzfristige Zusammenarbeit mit einem Besucher eines anderen Unternehmens eingerichtet. Team-ups sind in der akademischen Welt üblich, wo Forschungsprojekte Abteilungen, verschiedene Universitäten und sogar kommerzielle Einrichtungen umfassen können. Am Ende des Projekts muss der Systemadministrator das Housekeeping durchführen und unnötige Konten entfernen.

Das schlimmste Szenario ist, wenn jemand wegen eines Vergehens unter einer Wolke verschwindet. Solche Ereignisse passieren normalerweise plötzlich und ohne Vorwarnung. Das gibt dem Systemadministrator sehr wenig Zeit zum Planen und es ist dringend erforderlich, das Konto zu sperren, zu schließen und zu löschen – mit einer Kopie der Dateien des Benutzers, die gesichert werden, falls sie für Forensik nach der Schließung benötigt werden.

In unserem Szenario nehmen wir an, dass ein Benutzer, Eric, etwas getan hat, das seine sofortige Entfernung aus dem Gelände rechtfertigt. Im Moment weiß er nichts davon, er arbeitet noch und hat sich eingeloggt. Sobald Sie der Security zunicken, wird er aus dem Gebäude eskortiert.

Alles ist eingestellt. Alle Augen sind auf dich gerichtet.

Überprüfen Sie die Anmeldung

Mal sehen, ob er wirklich eingeloggt ist und wenn ja, mit wie vielen Sitzungen er arbeitet. Der wer befehligt listet aktive Sitzungen auf.

who

Eric ist einmal eingeloggt. Mal sehen, welche Prozesse er ausführt.

  So installieren Sie das RawTherapee-Bildverarbeitungstool unter Linux

Überprüfung der Prozesse des Benutzers

Wir können den ps-Befehl verwenden, um listet die Prozesse auf, die dieser Benutzer ausführt. Mit der Option -u (Benutzer) können wir ps anweisen, seine Ausgabe auf die Prozesse zu beschränken, die unter dem Besitz dieses Benutzerkontos ausgeführt werden.

ps -u eric

Wir können die gleichen Prozesse mit mehr Informationen mit dem Befehl top sehen. top hat auch die Option -U (Benutzer), um die Ausgabe auf die Prozesse zu beschränken, die einem einzelnen Benutzer gehören. Beachten Sie, dass es sich diesmal um ein großes „U“ handelt.

top -U eric

Wir können die Speicher- und CPU-Auslastung jeder Aufgabe sehen und schnell nach verdächtigen Aktivitäten suchen. Wir sind dabei, alle seine Prozesse gewaltsam zu beenden, daher ist es am sichersten, sich einen Moment Zeit zu nehmen, um die Prozesse schnell zu überprüfen und sicherzustellen, dass andere Benutzer nicht belästigt werden, wenn Sie die Prozesse des Benutzerkontos eric beenden.

Es sieht nicht so aus, als würde er viel tun, nur weniger verwenden, um eine Datei anzuzeigen. Wir können sicher fortfahren. Aber bevor wir seine Prozesse beenden, frieren wir das Konto ein, indem wir das Passwort sperren.

Sperren des Kontos

Wir sperren das Konto, bevor wir die Prozesse beenden, denn wenn wir die Prozesse beenden, wird der Benutzer abgemeldet. Wenn wir sein Passwort bereits geändert haben, kann er sich nicht wieder anmelden.

Die verschlüsselten Benutzerkennwörter werden in der Datei /etc/shadow gespeichert. Normalerweise würden Sie sich mit diesen nächsten Schritten nicht beschäftigen, aber damit Sie sehen können, was in der Datei /etc/shadow passiert, wenn Sie den Account sperren, machen wir einen kleinen Umweg. Mit dem folgenden Befehl können wir uns die ersten beiden Felder des Eintrags für das eric-Benutzerkonto ansehen.

sudo awk -F: '/eric/ {print $1,$2}' /etc/shadow

Der awk-Befehl parst Felder aus Textdateien und manipuliert sie optional. Wir verwenden die Option -F (Feldtrennzeichen), um awk mitzuteilen, dass die Datei einen Doppelpunkt ” : ” verwendet, um die Felder zu trennen. Wir suchen nach einer Zeile mit dem Muster „eric“. Für übereinstimmende Zeilen drucken wir das erste und zweite Feld. Dies sind der Kontoname und das verschlüsselte Passwort.

Der Eintrag für das Benutzerkonto eric wird für uns gedruckt.

Um das Konto zu sperren, verwenden wir den Befehl passwd. Wir verwenden die Option -l (lock) und Geben Sie den Namen des zu sperrenden Benutzerkontos ein.

sudo passwd -l eric

Wenn wir die Datei /etc/passwd erneut überprüfen, sehen wir, was passiert ist.

sudo awk -F: '/eric/ {print $1,$2}' /etc/shadow

Am Anfang des verschlüsselten Passworts wurde ein Ausrufezeichen hinzugefügt. Es überschreibt nicht das erste Zeichen, es wird nur am Anfang des Passworts hinzugefügt. Das ist alles, was erforderlich ist, um zu verhindern, dass sich ein Benutzer bei diesem Konto anmelden kann.

  So verstecken Sie Dateien unter Linux und sichern sie

Nachdem wir den Benutzer daran gehindert haben, sich wieder anzumelden, können wir seine Prozesse beenden und ihn abmelden.

Töten der Prozesse

Es gibt verschiedene Möglichkeiten, die Prozesse eines Benutzers zu beenden, aber der hier gezeigte Befehl ist weit verbreitet und eine modernere Implementierung als einige der Alternativen. Der Befehl pkill findet und beendet Prozesse. Wir übergeben das KILL-Signal und verwenden die Option -u (Benutzer).

sudo pkill -KILL -u eric

Sie kehren auf entschieden antiklimatische Weise zur Eingabeaufforderung zurück. Um sicherzustellen, dass etwas passiert ist, überprüfen wir noch einmal, wer:

who

Seine Sitzung ist weg. Er wurde abgemeldet und seine Prozesse wurden gestoppt. Das hat der Situation einiges an Dringlichkeit genommen. Jetzt können wir uns ein wenig entspannen und mit dem Rest des Aufräumens fortfahren, während die Security zu Erics Schreibtisch geht.

Das Home-Verzeichnis des Benutzers archivieren

Es ist nicht ausgeschlossen, dass in einem solchen Szenario in Zukunft Zugriff auf die Dateien des Benutzers erforderlich ist. Entweder im Rahmen einer Untersuchung oder einfach, weil ihr Nachfolger möglicherweise auf die Arbeit ihres Vorgängers zurückgreifen muss. Wir verwenden den tar-Befehl um ihr gesamtes Home-Verzeichnis zu archivieren.

Die von uns verwendeten Optionen sind:

c: Erstellen Sie eine Archivdatei.
f: Verwenden Sie den angegebenen Dateinamen für den Namen des Archivs.
j: Verwenden Sie die bzip2-Komprimierung.
v: Ausführliche Ausgabe bereitstellen, wenn das Archiv erstellt wird.

sudo tar cfjv eric-20200820.tar.bz /home/eric

Viele Bildschirmausgaben werden im Terminalfenster gescrollt. Um zu überprüfen, ob das Archiv erstellt wurde, verwenden Sie den Befehl ls. Wir verwenden die Optionen -l (langes Format) und -h (für Menschen lesbar).

ls -lh eric-20200802.tar.bz

Eine Datei von 722 MB wurde erstellt. Dies kann zur späteren Überprüfung an einen sicheren Ort kopiert werden.

Cron-Jobs entfernen

Wir sollten besser überprüfen, ob Cron-Jobs für das Benutzerkonto eric geplant sind. Ein Cron-Job ist ein Befehl, der zu bestimmten Zeiten oder Intervallen ausgelöst wird. Wir können überprüfen, ob für dieses Benutzerkonto Cron-Jobs geplant sind, indem wir ls verwenden:

sudo ls -lh /var/spool/cron/crontabs/eric

Wenn an diesem Speicherort etwas vorhanden ist, bedeutet dies, dass Cron-Jobs für dieses Benutzerkonto in der Warteschlange sind. Wir können sie mit diesem crontab-Befehl löschen. Die Option -r (Entfernen) entfernt die Jobs und die Option -u (Benutzer) sagt crontab wessen Jobs entfernt werden sollen.

sudo crontab -r -u eric

Die Jobs werden stillschweigend gelöscht. Soweit wir wissen, hätte Eric einen böswilligen Job geplant, wenn Eric vermutet hätte, dass er bald vertrieben werden würde. Dieser Schritt ist die beste Vorgehensweise.

  So sichern Sie die Desktop-Einstellungen der Gnome-Shell unter Linux

Entfernen von Druckaufträgen

Vielleicht hatte der Benutzer ausstehende Druckaufträge? Zur Sicherheit können wir die Druckwarteschlange von allen Jobs löschen, die zum Benutzerkonto eric gehören. Der lprm-Befehl entfernt Aufträge aus der Druckwarteschlange. Mit der Option -U (Benutzername) können Sie Jobs entfernen, die dem benannten Benutzerkonto gehören:

lprm -U eric

Die Jobs werden entfernt und Sie kehren zur Befehlszeile zurück.

Löschen des Benutzerkontos

Wir haben die Dateien bereits aus dem Verzeichnis /home/eric/ gesichert, sodass wir gleichzeitig das Benutzerkonto und das Verzeichnis /home/eric/ löschen können.

Der zu verwendende Befehl hängt davon ab, welche Linux-Distribution Sie verwenden. Für Debian-basierte Linux-Distributionen, der Befehl ist deluser, und für den Rest der Linux-Welt, es ist userdel.

Tatsächlich sind unter Ubuntu beide Befehle verfügbar. Ich habe halb erwartet, dass einer ein Alias ​​des anderen ist, aber es handelt sich um verschiedene Binärdateien.

type deluser
type userdel

Obwohl beide verfügbar sind, wird empfohlen, deluser zu verwenden auf von Debian abgeleiteten Distributionen:

„userdel ist ein Low-Level-Dienstprogramm zum Entfernen von Benutzern. Unter Debian sollten Administratoren stattdessen normalerweise deluser(8) verwenden.“

Das ist klar genug, daher ist der Befehl, der auf diesem Ubuntu-Computer verwendet werden soll, deluser. Da wir auch möchten, dass ihr Home-Verzeichnis entfernt wird, verwenden wir das Flag –remove-home:

sudo deluser --remove-home eric

Der für Nicht-Debian-Distributionen zu verwendende Befehl ist userdel mit dem Flag –remove:

sudo userdel --remove eric

Alle Spuren des Benutzerkontos Eric wurden gelöscht. Wir können überprüfen, ob /home/eric/directory entfernt wurde:

ls /home

Die Gruppe eric wurde ebenfalls entfernt, da das Benutzerkonto eric der einzige Eintrag darin war. Wir können dies ganz einfach überprüfen, indem wir den Inhalt von /etc/group durch grep leiten:

sudo less /etc/group | grep eric

Es ist ein Wrap

Eric ist für seine Sünden weg. Die Sicherheitskräfte führen ihn immer noch aus dem Gebäude und Sie haben bereits seine Dateien gesichert und archiviert, sein Konto gelöscht und das System von allen Überresten bereinigt.

Genauigkeit geht immer vor Geschwindigkeit. Stellen Sie sicher, dass Sie jeden Schritt berücksichtigen, bevor Sie ihn ausführen. Sie möchten nicht, dass jemand an Ihren Schreibtisch geht und sagt „Nein, der andere Eric“.