Wie man prüft, ob ein Benutzer derzeit in Linux eingeloggt ist

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie überprüfen können, welche Benutzer derzeit in ein Linux-System eingeloggt sind. Sie werden grundlegende Befehle wie who kennenlernen, um die eingeloggten Benutzer aufzulisten, und w, um detailliertere Informationen über ihre Sitzungen und Aktivitäten zu erhalten.

Am Ende dieses Labs können Sie schnell die aktiven Benutzer auf einem Linux-System identifizieren und grundlegende Informationen über ihre Anmeldesitzungen verstehen, einschließlich der Prüfung der Anmeldeaufzeichnungen in /var/run/utmp.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/SystemInformationandMonitoringGroup -.-> linux/ps("Process Displaying") linux/UserandGroupManagementGroup -.-> linux/whoami("User Identifying") subgraph Lab Skills linux/cat -.-> lab-558775{{"Wie man prüft, ob ein Benutzer derzeit in Linux eingeloggt ist"}} linux/ps -.-> lab-558775{{"Wie man prüft, ob ein Benutzer derzeit in Linux eingeloggt ist"}} linux/whoami -.-> lab-558775{{"Wie man prüft, ob ein Benutzer derzeit in Linux eingeloggt ist"}} end

Auflisten der eingeloggten Benutzer mit who

In diesem Schritt lernen Sie, wie Sie die Benutzer auflisten können, die derzeit in das System eingeloggt sind, indem Sie den Befehl who verwenden. Dies ist ein grundlegender Befehl für Systemadministratoren und Benutzer, um zu sehen, wer auf dem System aktiv ist.

Der Befehl who zeigt Informationen über die Benutzer an, die derzeit eingeloggt sind. Diese Informationen umfassen normalerweise den Benutzernamen, die Terminalzeile, die sie verwenden, die Zeit, zu der sie sich eingeloggt haben, und den Remote-Host, von dem aus sie sich eingeloggt haben (falls zutreffend).

Probieren wir es aus. Öffnen Sie Ihr Terminal, wenn es noch nicht geöffnet ist. Sie können das Symbol für das Xfce Terminal auf der linken Seite Ihres Desktops finden.

Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

who

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

labex    :0           <timestamp> (:0)

Lassen Sie uns die Ausgabe analysieren:

  • labex: Dies ist der Benutzername des eingeloggten Benutzers. In dieser LabEx-Umgebung ist der Standardbenutzer labex.
  • :0: Dies gibt die Terminalzeile oder das Display an, das verwendet wird. :0 bezieht sich normalerweise auf das primäre grafische Display.
  • <timestamp>: Dies zeigt das Datum und die Uhrzeit an, zu der sich der Benutzer eingeloggt hat. Das genaue Format und der Inhalt des Zeitstempels können geringfügig variieren.
  • (:0): Dies liefert oft zusätzliche Informationen über die Anmeldesitzung, in diesem Fall die Bestätigung des Displays.

Der Befehl who ist einfach, aber sehr nützlich, um schnell zu überprüfen, wer das System verwendet. Es ist ein guter erster Schritt, um die Benutzeraktivität zu verstehen.

Denken Sie daran, Übung macht den Meister! Versuchen Sie, den Befehl ein paar Mal auszuführen, um sich damit vertraut zu machen.

Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.

Überprüfen von Benutzer-Sitzungen mit dem w-Befehl

In diesem Schritt werden Sie den Befehl w erkunden, der detailliertere Informationen über die derzeit eingeloggten Benutzer und deren Aktivitäten liefert. Während who Ihnen eine schnelle Übersicht über die eingeloggten Benutzer gibt, bietet w einen Momentanbild der aktuellen Systemaktivität im Zusammenhang mit Benutzer-Sitzungen.

Der Befehl w zeigt, wer eingeloggt ist und was diese Benutzer gerade tun. Es ist ein nützliches Werkzeug zur Überwachung der Systemauslastung und zur Identifizierung der aktiven Prozesse, die jedem Benutzer zugeordnet sind.

Lassen Sie uns den Befehl w in Ihrem Terminal ausführen. Wenn Sie es geschlossen haben, öffnen Sie das Xfce Terminal erneut.

Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

w

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

 <timestamp> up <uptime>,  <users> users,  load average: <load_avg>
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
labex    :0       :0               <login_time>   <idle_time>   <jcpu_time>   <pcpu_time> w

Lassen Sie uns die verschiedenen Teile der Ausgabe analysieren:

  • Die erste Zeile bietet eine Zusammenfassung:
    • <timestamp>: Die aktuelle Uhrzeit.
    • up <uptime>: Die Zeit, seit der das System zuletzt neu gestartet wurde.
    • <users> users: Die Anzahl der derzeit eingeloggten Benutzer.
    • load average: <load_avg>: Die durchschnittliche Systemauslastung der letzten 1, 5 und 15 Minuten. Dies gibt die durchschnittliche Anzahl der Prozesse an, die auf die Ausführung warten.
  • Die Kopfzeile (USER, TTY, FROM, LOGIN@, IDLE, JCPU, PCPU, WHAT) beschreibt die Spalten, die für jeden eingeloggten Benutzer folgen.
  • USER: Der Benutzername.
  • TTY: Die Terminalzeile, die der Benutzer verwendet.
  • FROM: Der Remote-Host, von dem aus der Benutzer sich eingeloggt hat (falls zutreffend). Bei einer lokalen grafischen Sitzung wie dieser wird oft :0 angezeigt.
  • LOGIN@: Die Zeit, zu der der Benutzer sich eingeloggt hat.
  • IDLE: Die Leerlaufzeit des Terminals.
  • JCPU: Die Zeit, die von allen an das Terminal angehängten Prozessen verwendet wurde.
  • PCPU: Die Zeit, die vom aktuellen Prozess verwendet wurde.
  • WHAT: Die Befehlszeile des aktuellen Prozesses des Benutzers. In diesem Fall wird w angezeigt, da dies der Befehl ist, den Sie gerade ausgeführt haben.

Der Befehl w bietet im Vergleich zu who eine dynamischere Ansicht, da er nicht nur zeigt, wer eingeloggt ist, sondern auch, was die Benutzer gerade tun.

Experimentieren Sie mit dem Befehl w. Sie werden feststellen, dass er nützlich ist, um die Systemaktivität schnell zu beurteilen.

Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.

Prüfen der Anmeldeaufzeichnungen in /var/run/utmp

In diesem Schritt lernen Sie über die Datei /var/run/utmp und wie Befehle wie who und w ihre Informationen daraus erhalten. Diese Datei ist ein wesentlicher Bestandteil davon, wie Linux verfolgt, wer in das System eingeloggt ist.

Die Datei /var/run/utmp ist eine Binärdatei, die Informationen über die Benutzer enthält, die derzeit in das System eingeloggt sind. Sie wird ständig aktualisiert, wenn Benutzer sich ein- und ausloggen. Befehle wie who, w und users lesen diese Datei, um die aktuellen Anmeldeinformationen anzuzeigen.

Da /var/run/utmp eine Binärdatei ist, können Sie ihren Inhalt nicht einfach mit Befehlen wie cat oder less anzeigen, wie Sie es mit einer Textdatei tun würden. Dies würde zu unlesbaren Zeichen führen.

Versuchen wir, sie mit cat anzuzeigen, um zu sehen, was passiert (und zu verstehen, warum wir dies nicht tun):

cat /var/run/utmp

Sie werden eine Menge unlesbarer Zeichen sehen, was für eine Binärdatei zu erwarten ist.

<binary_output>

Um den Inhalt von /var/run/utmp in einem menschenlesbaren Format zu lesen, verwenden Sie normalerweise Befehle, die speziell für die Analyse dieser Datei entwickelt wurden, wie who oder w, die Sie in den vorherigen Schritten verwendet haben.

Ein weiterer Befehl, der speziell den Inhalt von /var/run/utmp liest und anzeigt, ist utmpdump. Dieser Befehl ist nützlich für die Fehlersuche oder die Untersuchung der Rohdaten in der Datei.

Lassen Sie uns utmpdump verwenden, um den Inhalt von /var/run/utmp anzuzeigen.

utmpdump /var/run/utmp

Sie sollten eine strukturierte und lesbare Ausgabe sehen, die Aufzeichnungen für jede Anmeldesitzung anzeigt. Die genaue Ausgabe hängt vom aktuellen Zustand des Systems ab, aber sie wird in etwa so aussehen:

Utmp dump of /var/run/utmp
[<type>] [<pid>] [<line>] [<id>] [<user>] [<host>] [<exit>] [<session>] [<tv_sec>] [<tv_usec>] [<addr_v6>]
...
[7] [ <pid> ] [ :0 ] [ :0 ] [ labex  ] [ :0 ] [  0,  0 ] [ <session_id> ] [ <timestamp> ] [ <usec> ] [ <ipv6_address> ]
...

Die Ausgabe zeigt verschiedene Felder für jeden Eintrag in der utmp-Datei, einschließlich des Eintragstyps (z. B. Benutzeranmeldung), der Prozess-ID, der Terminalzeile, des Benutzernamens, des Hosts, der Anmeldedauer und vieles mehr.

Das Verständnis von /var/run/utmp hilft Ihnen zu verstehen, wie Linux Benutzer-Sitzungen verfolgt und wie Befehle wie who und w im Hintergrund funktionieren.

Klicken Sie auf Weiter, um dieses Lab abzuschließen.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie überprüfen können, welche Benutzer derzeit auf einem Linux-System eingeloggt sind. Sie haben begonnen, indem Sie den Befehl who verwendet haben, der eine grundlegende Liste der eingeloggten Benutzer, ihrer Terminal, Anmeldedauer und Quelle liefert. Dieser Befehl ist ein grundlegendes Werkzeug, um aktive Benutzer schnell zu identifizieren.

Nach dem who-Befehl haben Sie den w-Befehl erkundet. Obwohl die vollständigen Details des w-Befehls im Auszug nicht angegeben wurden, wird er als ein Werkzeug vorgestellt, das detailliertere Informationen über die eingeloggten Benutzer und ihre aktuellen Aktivitäten liefert, und damit über die einfache Liste hinausgeht, die who bietet.