Linux / Befehl last: Anmelde- und Neustarthistorie überprüfen

last ist ein Befehl, der die An- und Abmeldehistorie des Systems ab dem neuesten Eintrag überprüft. Standardmäßig liest er /var/log/wtmp und zeigt den Benutzer, das Terminal, den Remote-Host, die Anmeldezeit, die Abmeldezeit und die Sitzungsdauer an.

Er ist nützlich, um die Anmeldehistorie bestimmter Benutzer oder Zeiträume zu überprüfen und um Neustart- oder abnormale Abschaltzeiten zu untersuchen. Zeiträume, in denen wtmp nicht aufgezeichnet wurde oder die Protokolle rotiert oder gelöscht wurden, können jedoch nicht abgefragt werden, und Sicherheitsvorfälle sollten nicht ausschließlich anhand dieses Eintrags geschlossen werden.

Was ist der Befehl last?

last durchsucht die wtmp-Anmeldeprotokolle vom Ende her und gibt die neuesten Einträge zuerst aus. Normalerweise können Sie den Namen des angemeldeten Benutzers, das verwendete Terminal (tty oder pts), den Host oder die IP-Adresse, von der die Verbindung stammt, Anmelde- und Abmeldezeiten sowie die Sitzungsdauer überprüfen.

wtmp ist kein Textprotokoll, sondern eine Datei in einem vom System definierten Datensatzformat. Daher sollte sie mit Werkzeugen gelesen werden, die das Format verstehen, wie last, und nicht mit cat oder einem Texteditor. Je nach Distribution und Systemeinstellungen können Speicherort, ob aufgezeichnet wird, und Aufbewahrungsdauer variieren.

Grundsyntax und Lesen der Ausgabe

Die grundlegende Syntax ist wie folgt. Wird der Benutzername oder das Terminal weggelassen, werden alle verfügbaren Aufzeichnungen angezeigt.

last [option] [username|terminal...]

Um die neuesten Anmeldeeinträge zu überprüfen, führen Sie wie folgt aus.

last
mina     pts/1        192.0.2.24       Fri Sep 18 21:10 - 22:42  (01:31)
alex     tty1                          Fri Sep 18 19:04 - 19:35  (00:31)
reboot   system boot  6.12.0           Fri Sep 18 18:58   still running

Die erste Spalte ist der Benutzer, die zweite Spalte das Terminal, die dritte Spalte der Remote-Host oder Kernel-Informationen, gefolgt von der Anmeldezeit und dem Abmelde-Status. Lokale Konsolenanmeldungen ohne Remote-Adresse können eine leere Host-Spalte haben.

wtmp begins ganz unten in der Ausgabe bezeichnet den ältesten Punkt, der aus der aktuell gelesenen Datei nachvollzogen werden kann. Dies ist nicht zwingend der Zeitpunkt der Systeminstallation oder der tatsächlichen ersten Anmeldung.

Häufig verwendete last-Optionen

Option Funktion Beispiele für die Verwendung
-n N, --limit N Ausgabe bis zu N Einträgen last -n 20
-s time, --since time Anzeigen des Status nach der angegebenen Zeit last -s 2026-09-01
-t time, --until time Status bis zur angegebenen Zeit anzeigen last -t 2026-09-19
-p time, --present time Zeigen Sie Benutzer an, die zur angegebenen Zeit verbunden sind last -p '2026-09-18 21:00'
-F, --fulltimes Vollständiges Datum und Uhrzeit von Anmeldung und Abmeldung anzeigen Detaillierte Ansicht ohne das Jahr auszulassen
--time-format iso Im ISO 8601-Format mit Zeitzone anzeigen Nützlich beim Vergleich mit Aufzeichnungen aus anderen Systemen
-i, --ip Remote-Host als numerische IP anzeigen Überprüfen Sie die aufgezeichnete Adresse anstelle des DNS-Namens
-a, --hostlast Verschieben Sie das Host-Feld zur letzten Spalte Verbessern Sie die Lesbarkeit mit langer Datumsanzeige
-R, --nohostname Das Host-Feld ausblenden Auf lokale Sitzungen und Zeit konzentrieren
-x, --system Ebenfalls Herunterfahren- und Runlevel-Änderungsprotokolle anzeigen Den Zustand vor und nach dem Neustart prüfen
-f file, --file file Andere wtmp-Dateien lesen last -f /var/log/wtmp.1

Die Namen und der unterstützte Umfang der Optionen können je nach Implementierung von last variieren. Dieser Artikel basiert auf der weit verbreiteten util-linux-Implementierung unter Linux, und die neuesten Definitionen finden Sie auf der offiziellen util-linux last-Handbuchseite.

Nur die gewünschten Login-Datensätze filtern

Anzeigen von Aufzeichnungen eines bestimmten Benutzers

Durch Hinzufügen eines Benutzernamens als Argument wird nur die Historie dieses Benutzers angezeigt.

last mina

Wenn Sie mehrere Benutzernamen auflisten, können Sie Einträge sehen, die auf einen von ihnen zutreffen. Wenn der Name lang ist, kann er in der Standardausgabe abgeschnitten werden, sodass Sie das vollständige Feld mit der Option -w oder --fullnames von util-linux anzeigen können.

last -w mina alex

Anzeigen von Aufzeichnungen eines bestimmten Terminals

Durch Angabe eines Terminalnamens können Sie nur die Sitzungen überprüfen, die von diesem Terminal erstellt wurden. pts/0 ist häufig in virtuellen Terminals wie SSH zu sehen, und tty1 kann eine lokale virtuelle Konsole darstellen.

last pts/0

Laut Handbuch kann tty0 als 0 abgekürzt werden, aber in Dokumenten und Skripten macht die Verwendung des vollständigen Terminalnamens die Absicht klar.

Die Anzahl der Ausgaben begrenzen

Um schnell nur die neuesten Datensätze zu überprüfen, geben Sie die maximale Anzahl der Einträge mit -n an.

last -n 10

Sie können es wie -10 abkürzen, aber das Format -n 10 ist in Skripten und Dokumenten leichter zu lesen und vermeidet Verwirrung mit anderen Optionen.

Abfragen nach Zeitraum und bestimmter Zeit

Angabe von Start- und Endzeiten

-s gibt die Startzeit der Abfrage an, und -t gibt die Endzeit an. Durch die Kombination der beiden Optionen können Sie einen bestimmten Zeitraum eingrenzen.

last -s '2026-09-01 00:00' -t '2026-09-19 00:00'

Wenn nur das Datum angegeben wird, wird es im Allgemeinen als 00:00:00 dieses Datums interpretiert. Um den gesamten Tag abzufragen, ist es klar, die Endgrenze auf 00:00 des folgenden Tages zu setzen.

Verwendung von relativen Zeitangaben

Der util-linux-Befehl last unterstützt relative Zeitangaben wie today, yesterday, now und -7days.

last -s yesterday
last -s -7days

Wenn Sie automatisierte Ergebnisse wiederholt vergleichen müssen, ist es für die Reproduzierbarkeit besser, explizite Daten und Zeitzonen zu verwenden, anstatt relative Ausdrücke, die je nach Ausführungszeit variieren.

Benutzer finden, die zu einer bestimmten Zeit eingeloggt waren

-p zeigt Benutzer an, die zum angegebenen Zeitpunkt eingeloggt waren. Dies kann nützlich sein, um Sitzungen zu überprüfen, die zum Zeitpunkt eines Vorfalls aktiv waren.

last -p '2026-09-18 21:30'

Die Ergebnisse werden auf Basis der in wtmp verbleibenden Login-/Logout-Daten berechnet, daher können fehlende oder beschädigte Datensätze nicht wiederhergestellt werden.

Zeitformat deutlich anzeigen

Alle Login-/Logout-Zeiten anzeigen

Die grundlegende Ausgabe kann das Jahr oder einen Teil der Zeit weglassen, um die Bildschirmbreite zu reduzieren. -F zeigt das vollständige Datum und die Uhrzeit für An- und Abmeldungen an.

last -F -n 10

Anzeige im ISO-Format mit Zeitzone

Beim Vergleich von Protokollen anderer Server oder bei der externen Weitergabe von Ergebnissen ist --time-format iso nützlich. Das ISO-Format enthält Zeitzoneninformationen, die Missverständnisse bei der Interpretation von Zeiten verringern können.

last --time-format iso -n 10

Beim Vergleich der Reihenfolge von Ereignissen auf mehreren Systemen sollten Sie auch überprüfen, ob die Systemzeit und die Zeitzoneneinstellungen jedes Servers korrekt sind.

Überprüfung von Neustart- und Herunterfahrprotokollen

Anzeige der Neustarthistorie

reboot ist ein Pseudo-Benutzer, der beim Systemstart aufgezeichnet wird, kein tatsächlicher Benutzerkontoinhaber. Der folgende Befehl zeigt die aktuelle Neustart-Historie an, die in der Datei wtmp gespeichert ist.

last reboot

Der Anzeigebereich umfasst die derzeit gespeicherten wtmp-Daten. Wenn ältere Neustarts nicht sichtbar sind, bedeutet dies möglicherweise nicht, dass keine Aufzeichnungen existieren, sondern dass sie rotiert wurden.

Anzeige von Herunterfahren und Runlevel-Änderungen

-x zeigt System-Herunterfahrungen und Runlevel-Änderungsaufzeichnungen zusammen mit normalen Anmeldeaufzeichnungen an. Dies ist hilfreich, um zu überprüfen, ob ein normales Herunterfahren direkt vor einem Neustart protokolliert wurde.

last -x -n 30

Sie können auch ausschließlich auf Shutdown-Einträge mit last shutdown eingrenzen. In Situationen, in denen der Shutdown-Datensatz nicht hinterlassen werden konnte, wie z. B. bei einem abnormalen Stromausfall, könnte es jedoch keine normalen shutdown-Einträge geben.

Interpretation der im Output angezeigten Status

Anzeige Allgemeine Bedeutung Zu prüfende Punkte
still logged in Noch keine Logout-Datensätze Erneut bestätigen, ob es sich um die aktuelle Sitzung mit who oder w handelt
still running Die Boot-Sitzung ist nicht beendet Überprüfen Sie, ob es sich um den aktuellen Boot mit uptime handelt
crash Deutet darauf hin, dass die Boot-Sitzung ohne normales Abmelden beendet wurde Untersuchen Sie dies zusammen mit Kernel-, Journal- und Hardware-Logs
gone - no logout Es konnte kein entsprechender Abmeldeeintrag gefunden werden Überprüfen Sie die Möglichkeiten von Log-Verlust, Neustart oder Problemen mit Sitzungsaufzeichnungen
wtmp begins Beginn des ältesten Eintrags in der aktuellen Eingabedatei Überprüfen Sie das Vorhandensein von rotierten vorherigen Dateien

Die Markierungen sind Hinweise und kein endgültiger Beweis für eine Ursache. crash beweist insbesondere keinen Hardwarefehler. Prüfen Sie dazu auch Kernel-Protokolle, das systemd-Journal und Ereignisse der Virtualisierungsplattform.

Vorherige wtmp-Dateien und Log-Rotation

Andere Datendateien lesen

-f liest eine bestimmte wtmp-formatierte Datei anstelle der Standarddatei. Abhängig von den Log-Rotations-Einstellungen der Distribution können frühere Einträge in /var/log/wtmp.1 und so weiter verbleiben.

last -f /var/log/wtmp.1

In util-linux können Sie -f mehrfach angeben, um mehrere Dateien zu verarbeiten. Überprüfen Sie zuerst die tatsächlichen Dateinamen und Berechtigungen in Ihren Systemeinstellungen.

Vorsicht beim Umgang mit komprimierten Einträgen

Wenn rotierte Dateien mit gzip oder ähnlichem komprimiert sind, gehen Sie nicht davon aus, dass last sie automatisch durch Dekomprimieren lesen kann. Kopieren und dekomprimieren Sie sie in einem eingeschränkten Arbeitsbereich, ohne die Originale zu beschädigen, und lesen Sie sie dann mit -f. Zu Untersuchungszwecken sollten auch der Hash und das Sicherungsverfahren des Originals aufgezeichnet werden.

Überprüfung fehlgeschlagener Anmeldeversuche

Die Beziehung zwischen lastb und btmp

lastb ist ähnlich wie last, aber standardmäßig liest es /var/log/btmp, um fehlgeschlagene Anmeldeversuche anzuzeigen. Je nach Distribution können Administratorrechte erforderlich sein.

sudo lastb -n 20

Es ist hilfreich, sich Remote-Adressen und Benutzernamen mit wiederholten Fehlschlägen anzusehen, aber auf Servern, die dem Internet ausgesetzt sind, ist automatisiertes Scannen üblich, daher sollte man nicht aufgrund einzelner Versuche auf einen Sicherheitsvorfall schließen.

Vergleich mit erfolgreichen Aufzeichnungen

Es ist sinnvoll, erfolgreiche Anmeldungen, SSH-Authentifizierungsprotokolle, Firewall- und Zugriffskontrollaufzeichnungen im selben Zeitraum zu vergleichen.

last --time-format iso -s '2026-09-18 00:00'
sudo lastb --time-format iso -s '2026-09-18 00:00'

Der Standort und die Methode zum Zugriff auf Authentifizierungsprotokolle variieren je nach Distribution und Protokollierungskonfiguration. Auf Systemen, die das systemd-Journal verwenden, prüfen Sie auch das Journal der betreffenden Service-Einheiten.

Reihenfolge der Sicherheitsprüfungen

Zuerst den Suchbereich und den Zeitraum festlegen

Notieren Sie die Start- und Endzeiten des Vorfalls, der untersucht werden soll, sowie die Zeitzone des Servers. Falls möglich, verwenden Sie --time-format iso, um Zeitinformationen in der Ausgabe einzuschließen, und überprüfen Sie auch den Zeit-Synchronisationsstatus mehrerer Server.

Überprüfen Sie Benutzer, Hosts und Terminals.

Suchen Sie nach unerwarteten Benutzern, entfernten Adressen, die von den üblichen abweichen, sowie nach abnormalen Anmeldezeiten und Sitzungsdauern. Da sich der Besitzer oder der Standort einer IP-Adresse ändern kann und von Proxys, VPNs und NAT beeinflusst wird, identifizieren Sie den Benutzer nicht ausschließlich anhand einer einzigen Adresse.

Überprüfen Sie Neustarts und Protokolllücken

Überprüfen Sie last reboot, last -x und wtmp begins, um den Bereich der Datensätze und Startgrenzen zu bestimmen. Vergleichen Sie dies mit den Log-Rotationszeiten, um zu sehen, ob es unerklärliche Lücken gibt.

Treffen Sie Urteile anhand anderer Beweise

Überprüfen Sie die Ergebnisse von last anhand von SSH-Authentifizierungslogs, dem systemd-Journal, Befehls-Audit-Logs sowie Firewall-, VPN- und Cloud-Zugriffsaufzeichnungen. Wenn ein Vorfall vermutet wird, ändern Sie die Original-Logs nicht und bewahren Sie diese gemäß den Reaktionsverfahren der Organisation auf.

Grenzen der last-Aufzeichnungen

  • Abhängigkeit von lokalen Dateien: Wenn wtmp fehlt oder der Dienst keine Logs erstellt, können die Ergebnisse leer sein.
  • Begrenzung der Aufbewahrungsfrist: Datensätze können nach der Protokollrotation und Löschung nicht aus der aktuellen Datei abgerufen werden.
  • Möglichkeit der Manipulation: Ein Angreifer mit ausreichenden Rechten kann lokale Datensätze ändern oder löschen.
  • Zeitabhängigkeit: Das Ändern der Systemuhr oder eine falsche Zeitzoneneinstellung kann die Reihenfolge der Ereignisse und Sitzungszeiten durcheinanderbringen.
  • Umweltunterschiede: Container, minimal installierte Umgebungen und einige Fernzugriffsmethoden können die erwarteten wtmp-Einträge möglicherweise nicht hinterlassen.

Daher ist last nützlich, um die Situation schnell einzuschätzen und eine Untersuchung zu starten, ersetzt jedoch nicht vollständige Prüfprotokolle oder zentrale Sicherheitsaufzeichnungen.

last und verwandte Befehle vergleichen

Befehl Hauptzweck Geeignete Situationen
last Vergangene Anmelde-/Abmeldehistorie Überprüfen Sie verbleibende Sitzungs- und Bootprotokolle in wtmp
lastb Fehlgeschlagene Anmeldehistorie Überprüfen Sie in btmp aufgezeichnete Authentifizierungsfehler
who Aktuell angemeldete Benutzer Überprüfen Sie Benutzer und Terminals der aktuellen Sitzungen
w Aktuelle Benutzer und ihre laufenden Aktivitäten Überprüfen Sie angemeldete Benutzer, Leerlaufzeiten und Prozesse
lastlog oder lslogins Letzte Anmeldung nach Konto Überprüfen Sie Konten, die lange nicht verwendet wurden oder die letzte Anmeldung

Häufig gestellte Fragen

Warum liefert last keine Ergebnisse?

Es könnte sein, dass /var/log/wtmp nicht existiert, leer ist oder das System so konfiguriert ist, dass Anmeldungen in dieser Datei nicht aufgezeichnet werden. Überprüfen Sie die Existenz der Datei, Berechtigungen und Protokollierungsrichtlinien. Ein leeres Ergebnis bedeutet nicht, dass es keine Anmeldeprotokolle gibt.

Bedeutet still logged in, dass die Sitzung aktuell besteht?

Es bedeutet, dass kein Logout-Eintrag zu diesem Login existiert. Um die tatsächliche aktuelle Sitzung zu überprüfen, ist es besser, who, w, loginctl usw. zu verwenden. Ältere Sitzungen können auf diese Weise erscheinen, aufgrund abnormaler Beendigung oder fehlender Einträge.

Wie kann ich alte Login-Einträge überprüfen?

Wenn Dateien wie das rotierte Log wtmp.1 vorhanden sind, können Sie sie mit last -f filename lesen. Für komprimierte Dateien verwenden Sie eine dekomprimierte Kopie und ändern Sie nicht direkt die Originaldatei.

Kann man Hacking nur anhand der Ergebnisse des last Befehls feststellen?

Nein. Unerwartete Anmeldungen sind wichtige Hinweise, aber lokale wtmp-Aufzeichnungen können unvollständig sein oder manipuliert worden sein. Sie müssen diese zusammen mit Authentifizierungsprotokollen, Netzwerkaufzeichnungen, Befehlsprüfprotokollen und Systemänderungen analysieren.

Zusammenfassung

Die jüngste Anmeldehistorie kann mit last überprüft werden, bestimmte Benutzer mit last username, Neustartaufzeichnungen mit last reboot und fehlgeschlagene Anmeldungen mit lastb. Für Zeiträume verwenden Sie -s und -t, für einen bestimmten Zeitpunkt -p, und für eine klare Zeitdarstellung kann --time-format iso verwendet werden.

Die Ergebnisse von last sind nur innerhalb des Bereichs der derzeit verfügbaren wtmp-Datensätze gültig. In einer Sicherheitsuntersuchung sollten Sie zunächst die Zeitzone und den Aufbewahrungsbereich der Protokolle überprüfen und mit anderen Datensätzen abgleichen. Verwandte grundlegende Tools können gemeinsam in der Liste der häufig verwendeten Befehle in Linux eingesehen werden.