Harting Development

Anzeige aktiver Benutzer in Linux

Lukas Fuchs vor 7 Monaten in  Sicherheit 3 Minuten Lesedauer

Befehl zum Anzeigen aktiver Benutzer

Wenn du wissen möchtest, welche Benutzer gerade auf deinem Linux-System angemeldet sind, gibt es mehrere Befehle, die dir helfen können. Der erste und grundlegende Befehl für diesen Zweck ist:

w

Der Befehl w listet alle aktuell angemeldeten Benutzer auf. Er zeigt folgende Informationen an:

  • Benutzername
  • Terminal, an dem der Benutzer angemeldet ist
  • Zeitpunkt der Anmeldung
  • Von wo der Benutzer angemeldet ist (falls über einen Remote-Zugriff)
  • Leerzeit (die Zeit, die seit der letzten Eingabe vergangen ist)
  • Prozess, den der Benutzer ausführt
  • CPU-Auslastung

Beispielausgabe:

 14:24:27 up  9:11,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.1.101   14:15    0.00s  0.08s  0.00s /bin/bash

Anmerkung: Der Befehl w kann auch Optionen wie -f verwenden, um weitere Details anzuzeigen, oder -h, um eine Hilfetext anzuzeigen.

Weitere Befehle zum Anzeigen aktiver Benutzer

Neben w gibt es noch zwei weitere grundlegende Befehle, die Informationen zu aktiven Benutzern liefern:

who: Dieser Befehl listet die angemeldeten Benutzer auf, ohne Details wie den Terminaltyp oder die Leerzeit anzuzeigen.

whoami: Dieser Befehl gibt den Namen des aktuell angemeldeten Benutzers aus.

Verwendung von "w" und seine Ausgabe interpretieren

Der Befehl w ist ein vielseitiges Tool zur Anzeige aktiver Benutzer in Linux. Er bietet detaillierte Informationen zu jedem angemeldeten Benutzer, einschließlich Benutzername, Terminaltyp, Login-Zeit und Hostname.

h3: Ausgabe interpretieren

Die Ausgabe des Befehls w besteht aus mehreren Spalten mit folgenden Informationen:

  • USER: Benutzername
  • TTY: Terminaltyp (z. B. tty1, pts/0)
  • FROM: Hostname, von dem aus der Benutzer angemeldet ist
  • LOGIN@: Datum und Uhrzeit der Anmeldung
  • IDLE: Leerlaufzeit seit der letzten Aktivität
  • JCPU: CPU-Zeit, die der Benutzer aktiv verbracht hat
  • PCPU: CPU-Zeit, die der Benutzer im Hintergrund verbracht hat
  • WHAT: Befehl oder Prozess, den der Benutzer derzeit ausführt

h3: Häufige Fragen

Welchen Befehl verwende ich, um alle aktiven Benutzer anzuzeigen? w

Wie kann ich die Leerlaufzeit eines Benutzers ermitteln? Untersuche die Spalte IDLE in der Ausgabe von w.

Wie kann ich feststellen, von welchem Host aus sich ein Benutzer angemeldet hat? Überprüfe die Spalte FROM in der Ausgabe von w.

Wie kann ich die Gesamtanzahl der angemeldeten Benutzer ermitteln? Verwende den Befehl wc -l in der Ausgabe von w.

Alternative Befehle: "who" und "whoami"

Neben "w" stehen dir auch die Befehle "who" und "whoami" zur Verfügung, um aktive Benutzer anzuzeigen. Jeder dieser Befehle bietet unterschiedliche Informationen und kann für bestimmte Szenarien nützlich sein.

"who"

Der Befehl "who" zeigt dir eine Liste der aktuell angemeldeten Benutzer, zusammen mit Informationen wie dem Terminal, von dem sie sich angemeldet haben, und der Zeit, zu der sie sich angemeldet haben.

$ who
username tty                 login@   idle what
alex     pts/1              14:05    0.0  -bash

"whoami"

Der Befehl "whoami" gibt den Namen des Benutzers aus, der den Befehl ausgeführt hat. Dies kann nützlich sein, um schnell zu überprüfen, unter welchem Benutzernamen du angemeldet bist, insbesondere wenn du dich über mehrere Benutzerkonten hinweg bewegst.

$ whoami
alex

Vergleich von "who" und "whoami"

Während "who" eine Liste aller angemeldeten Benutzer anzeigt, gibt "whoami" nur den Namen des aktuellen Benutzers aus. Wenn du detailliertere Informationen über angemeldete Benutzer benötigst, ist "who" die bessere Wahl. Wenn du jedoch einfach nur überprüfen möchtest, welcher Benutzer angemeldet ist, ist "whoami" ein schneller und einfacher Befehl.

Anzeige von Benutzerdetails: "finger" und "id"

Um detailliertere Informationen über einen bestimmten Benutzer anzuzeigen, kannst du die Befehle finger und id.

Der Befehl "finger"

Der Befehl finger zeigt Informationen über einen oder mehrere angemeldete Benutzer an. Dies beinhaltet ihren vollen Namen, ihre E-Mail-Adresse, ihre Office-Adresse, ihre Telefonnummer, ihre aktuelle Sitzungszeit, die zuletzt verwendete Zeile und die Anmeldezeit.

Syntax:

finger [Benutzername]

Beispiel:

finger user1

Der Befehl "id"

Der Befehl id zeigt Informationen über die effektive Benutzer-ID, die Gruppen-ID und die zusätzlichen Gruppen-IDs des aktuellen Benutzers an.

Syntax:

id [Benutzername]

Beispiel:

id user1

Zusätzliche Optionen:

Du kannst die folgenden Optionen verwenden, um die Ausgabe von finger und id anzupassen:

  • -l: Zeigt alle Informationen über den Benutzer an, einschließlich des Home-Verzeichnisses und der Shell.
  • -s: Zeigt nur kurze Informationen über den Benutzer an, einschließlich des Namens und der Anmeldezeit.
  • -F: Zeigt nur die Felder an, die in einer bestimmten Formatzeichenfolge angegeben sind.
  • -i: Zeigt nur die ID-Informationen für den Benutzer an.
  • -n: Zeigt nur den Namen des Benutzers an.

Filterung aktiver Benutzer nach Kriterien

Um bestimmte aktive Benutzer basierend auf Kriterien zu filtern, kannst du die folgenden Befehle verwenden:

grep

Der Befehl grep ermöglicht es dir, die Ausgabe eines anderen Befehls nach einem bestimmten Muster zu durchsuchen. Um beispielsweise alle aktiven Benutzer mit dem Benutzernamen "john" anzuzeigen, kannst du Folgendes eingeben:

w | grep john

awk

awk ist eine Programmiersprache für die Textverarbeitung, die du verwenden kannst, um die Ausgabe eines anderen Befehls weiter zu verarbeiten. Folgender Befehl zeigt alle aktiven Benutzer an, die länger als 5 Minuten eingeloggt sind:

w | awk '{if ($6 > 300) print}'

cut

Der Befehl cut ermöglicht es dir, bestimmte Felder aus der Ausgabe eines anderen Befehls auszuwählen. Dies kann nützlich sein, wenn du nur bestimmte Informationen über die aktiven Benutzer anzeigen möchtest. Folgender Befehl zeigt nur den Benutzernamen und die Login-Zeit der aktiven Benutzer an:

w | cut -d " " -f 1,3

Anwendung von Filtern in Echtzeit

Du kannst diese Filter auch in Kombination mit dem Befehl tail -f verwenden, um Benutzeraktivitäten in Echtzeit zu überwachen. Folgender Befehl zeigt beispielsweise alle neuen Benutzer an, die sich einloggen:

tail -f /var/log/auth.log | grep "Accepted password"

Tipps für die Filterung

  • Verwende die Manpage der Befehle, um weitere Informationen zu Filteroptionen und Syntax zu erhalten.
  • Kombiniere mehrere Befehle und Filter, um noch komplexere Abfragen zu erstellen.
  • Stelle sicher, dass du die Ausgabevorschriften überprüfst, um die zurückgelieferten Informationen richtig zu interpretieren.

Anzeige von Benutzersitzungen und dem Zeitpunkt der Anmeldung

Durch das Anzeigen von Benutzersitzungen kannst du wertvolle Einblicke in die Aktivitäten der Benutzer auf deinem Linux-System gewinnen. Dies ist besonders nützlich für Systemadministratoren, um den Überblick über die Auslastung des Systems zu behalten und mögliche Sicherheitsprobleme zu überwachen.

Verwendung von "w" zum Anzeigen aktiver Sitzungen

Der Befehl w bietet eine einfache Möglichkeit, eine Liste der aktuell angemeldeten Benutzer anzuzeigen. Er liefert Informationen zum Benutzernamen, zur Terminalnummer, zur Login-Zeit und zum Hostnamen, von dem aus die Verbindung hergestellt wurde. Um w zu verwenden, gibst du einfach den folgenden Befehl in ein Terminalfenster ein:

w

Interpretation der "w"-Ausgabe

Die Ausgabe von w ist in Spalten unterteilt:

  • USER: Der Benutzername.
  • TTY: Die Terminalnummer, an der der Benutzer angemeldet ist.
  • FROM: Der Hostname, von dem aus die Verbindung hergestellt wurde (falls zutreffend).
  • LOGIN@: Der Zeitpunkt der Anmeldung.
  • IDLE: Die Zeit der Inaktivität des Benutzers.
  • JCPU: Die Gesamtzeit, die der Benutzer im CPU-Modus verbracht hat.
  • PCPU: Die Gesamtzeit, die der Benutzer im Prozessmodus verbracht hat.
  • WHAT: Der aktuelle Befehl, den der Benutzer ausführt.

Alternative Befehle: "who" und "last"

Zusätzlich zu w kannst du auch die Befehle who und last verwenden, um Informationen über aktive Benutzer zu erhalten.

  • who: Zeigt eine kürzere Liste der angemeldeten Benutzer an, einschließlich des Benutzernamens, der Terminalnummer und des Login-Zeitstempels.
  • last: Zeigt eine Historie der letzten An- und Abmeldungen an, einschließlich des Benutzernamens, der Terminalnummer, des Login- und Logout-Zeitstempels und des Hostnamens.

Anzeige detaillierter Benutzersitzungsinformationen

Um detailliertere Informationen über eine bestimmte Benutzersitzung zu erhalten, kannst du den Befehl finger verwenden:

finger Benutzername

Dadurch werden Informationen wie der vollständige Name, die E-Mail-Adresse, die Büro- und Telefonnummer des Benutzers angezeigt.

Alternativ kannst du auch den Befehl id verwenden, um Informationen über die Gruppenzugehörigkeit, die Benutzer-ID und die Gruppen-ID des Benutzers anzuzeigen:

id Benutzername

Überwachung aktiver Benutzer in Echtzeit

Neben der Anzeige aktiver Nutzer zu einem bestimmten Zeitpunkt kannst du auch ihre Aktivitäten in Echtzeit überwachen. Hier sind einige Ansätze:

h3 Top-Befehl

Der Befehl top zeigt eine dynamische Liste der laufenden Prozesse und der von ihnen verwendeten Ressourcen an. Er beinhaltet auch eine Spalte namens "USER", die den Besitzer des Prozesses anzeigt. Dadurch erhältst du einen Echtzeit-Überblick über die Aktivitäten der aktiven Nutzer.

h3 Last-Befehl

Der Befehl last zeigt eine Liste der kürzlich angemeldeten Nutzer an sowie die Uhrzeit ihrer Anmeldung. Mit der Option -w kannst du die Liste live aktualisieren und so die Anmelde- und Abmeldezeiten der Benutzer in Echtzeit überwachen.

h3 Watch-Befehl

Der Befehl watch kann verwendet werden, um einen anderen Befehl wiederholt auszuführen und seine Ausgabe anzuzeigen. Du kannst ihn zum Beispiel mit dem Befehl w kombinieren, um die Liste der aktiven Nutzer in regelmäßigen Abständen zu aktualisieren:

watch -n 5 w

h3 Tools von Drittanbietern

Neben den oben genannten Befehlen gibt es auch mehrere Tools von Drittanbietern, die erweiterte Überwachungsfunktionen für aktive Nutzer bieten:

  • Linux Auditd: Ein Kernel-Modul, das Audit-Events protokolliert, einschließlich Nutzeranmeldungen und -abmeldungen.
  • Sysdig Falco: Ein Open-Source-Tool zur Echtzeit-Überwachung und Erkennung von Bedrohungen, das Benutzeraktivitäten überwacht.
  • Tripwire: Ein kommerzielles Tool zur Integritätsüberwachung, das Änderungen an Nutzerkonten und anderen Systemen überwacht.

Folge uns

Neue Posts

Beliebte Posts