So verwenden Sie den letzten Befehl unter Linux

Wer, wann und von wo? Gute Sicherheitspraktiken besagen, dass Sie wissen sollten, wer auf Ihren Linux-Computer zugegriffen hat. Wir zeigen Ihnen wie.

Die wtmp-Datei

Linux und andere Unix-ähnliche Betriebssysteme wie MacOS sind sehr gut im Logging. Irgendwo im Inneren des Systems gibt es ein Protokoll für so ziemlich alles, was Ihnen einfällt. Die Protokolldatei, an der wir interessiert sind, heißt wtmp. Das „w“ könnte für „wann“ oder „wer“ stehen – niemand scheint damit einverstanden zu sein. Der Teil „tmp“ steht wahrscheinlich für „temporär“, könnte aber auch für „Zeitstempel“ stehen.

Was wir wissen ist, dass wtmp ein Protokoll ist, das jedes Login- und Logout-Ereignis erfasst und aufzeichnet. Die Überprüfung der Daten im wtmp-Protokoll ist ein grundlegender Schritt, um Ihre Systemadministratoraufgaben sicherheitsbewusst zu erfüllen. Für einen typischen Familiencomputer ist dies aus Sicherheitsgründen möglicherweise nicht so kritisch, aber es ist interessant, Ihre kombinierte Nutzung des Computers überprüfen zu können.

Im Gegensatz zu vielen textbasierten Protokolldateien in Linux ist wtmp eine Binärdatei. Um auf die darin enthaltenen Daten zuzugreifen, müssen wir ein Tool verwenden, das für diese Aufgabe entwickelt wurde.

Dieses Tool ist der letzte Befehl.

Der letzte Befehl

Der letzte Befehl liest Daten aus dem wtmp-Log und zeigt sie in einem Terminalfenster an.

Wenn Sie zuletzt eingeben und die Eingabetaste drücken, wird es alle Datensätze anzeigen aus der Log-Datei.

last

Jeder Datensatz von wtmp wird im Terminalfenster angezeigt.

Von links nach rechts enthält jede Zeile:

Der Benutzername der Person, die sich angemeldet hat.
Das Terminal, an dem sie angemeldet waren. Ein Terminaleintrag von :0 bedeutet, dass sie auf dem Linux-Computer selbst angemeldet waren.
Die IP-Adresse des Computers, an dem sie angemeldet waren.
Der Anmeldezeit- und Datumsstempel.
Die Dauer der Sitzung.

Die letzte Zeile gibt uns das Datum und die Uhrzeit der frühesten aufgezeichneten Sitzung im Protokoll an.

Bei jedem Hochfahren des Rechners wird ein Login-Eintrag für den fiktiven Benutzer ‚reboot‘ in das Log eingetragen. Das Terminalfeld wird durch die Kernel-Version ersetzt. Die Dauer der angemeldeten Sitzung für diese Einträge stellt die Betriebszeit des Computers dar.

  5 hervorragende Download-Manager für Linux

Anzeigen einer bestimmten Anzahl von Zeilen

Die alleinige Verwendung des letzten Befehls erzeugt einen Dump des gesamten Protokolls, wobei das meiste davon am Terminalfenster vorbeirauscht. Der sichtbar bleibende Teil sind die frühesten Daten im Protokoll. Dies ist wahrscheinlich nicht das, was Sie sehen wollten.

Sie können last mitteilen, dass Sie eine bestimmte Anzahl von Ausgabezeilen erhalten. Geben Sie dazu die gewünschte Anzahl von Zeilen in der Befehlszeile ein. Beachten Sie den Bindestrich. Um fünf Zeilen zu sehen, müssen Sie -5 und nicht 5 eingeben:

last -5

Dies ergibt die ersten fünf Zeilen des Protokolls, die die neuesten Daten sind.

Anzeigen von Netzwerknamen für Remote-Benutzer

Die Option -d (Domain Name System) weist last an, zu versuchen, die IP-Adressen von Remote-Benutzern in einen Computer- oder Netzwerknamen aufzulösen.

last -d

Es ist für last nicht immer möglich, die IP-Adresse in einen Netzwerknamen umzuwandeln, aber der Befehl wird dies tun, wenn dies möglich ist.

Ausblenden von IP-Adressen und Netzwerknamen

Wenn Sie nicht an der IP-Adresse oder dem Netzwerknamen interessiert sind, verwenden Sie die Option -R (kein Hostname), um dieses Feld zu unterdrücken.

Da dies eine sauberere Ausgabe ohne hässliche Umbrüche ergibt, wurde diese Option in allen folgenden Beispielen verwendet. Wenn Sie last verwenden, um ungewöhnliche oder verdächtige Aktivitäten zu identifizieren, würden Sie dieses Feld nicht unterdrücken.

Auswählen von Datensätzen nach Datum

Sie können die Option -s (since) verwenden, um die Ausgabe so einzuschränken, dass nur Anmeldeereignisse angezeigt werden, die seit einem bestimmten Datum stattgefunden haben.

Wenn Sie nur Login-Ereignisse sehen möchten, die ab dem 26. Mai 2019 stattgefunden haben, verwenden Sie den folgenden Befehl:

last -R -s 2019-05-26

Die Ausgabe zeigt Datensätze mit Login-Ereignissen, die ab dem Zeitpunkt 00:00 des angegebenen Tages bis zu den neuesten Datensätzen in der Protokolldatei stattgefunden haben.

Suche bis zu einem Enddatum

Mit -t (bis) können Sie ein Enddatum angeben. Auf diese Weise können Sie einen Satz von Anmeldedatensätzen auswählen, die zwischen zwei interessanten Daten stattfanden.

  So übertragen Sie drahtlos Android-Dateien auf einen Linux-Desktop

Dieser Befehl fordert zuletzt auf, die Login-Datensätze von 00:00 (Morgendämmerung) am 26. bis 00:00 (Morgendämmerung) am 27. abzurufen und anzuzeigen. Dies schränkt die Auflistung auf Login-Sitzungen ein, die nur am 26. stattfanden.

Zeit- und Datumsformate

Sie können sowohl Uhrzeiten als auch Datumsangaben mit den Optionen -s und -t verwenden.

Die verschiedenen Zeitformate, die mit den letzten Optionen verwendet werden können, die Datum und Uhrzeit verwenden, sind (angeblich):

JJJJMMTThhmmss
JJJJ-MM-TT hh:mm:ss
YYYY-MM-DD hh:mm – Sekunden werden auf 00 . gesetzt
YYYY-MM-DD – Uhrzeit ist auf 00:00:00 . eingestellt
hh:mm:ss – Datum wird auf heute gestellt
hh:mm – Datum wird auf heute gesetzt, Sekunden auf 00
jetzt
gestern – Zeit ist auf 00:00:00 eingestellt
heute – Zeit ist auf 00:00:00 eingestellt
morgen – die Zeit ist auf 00:00:00 eingestellt
+5min
-5 Tage

Warum „angeblich“?

Das zweite und dritte Format in der Liste funktionierten während der Recherche für diesen Artikel nicht. Diese Befehle wurden auf Ubuntu-, Fedora- und Manjaro-Distributionen getestet. Dies sind Derivate der Debian-, RedHat- bzw. Arch-Distributionen. Das deckt alle Hauptfamilien der Linux-Distribution ab.

last -R -s 2019-05-26 11:00 -t 2019-05-27 13:00

Wie Sie sehen, hat der Befehl überhaupt keine Datensätze zurückgegeben.

Die Verwendung des ersten Datums- und Uhrzeitformats aus der Liste mit demselben Datum und denselben Uhrzeiten wie der vorherige Befehl gibt Datensätze zurück:

last -R -s 20190526110000 -t 20190527130000

Suche nach relativen Einheiten

Sie geben auch Zeiträume an, die in Minuten oder Tagen gemessen werden, bezogen auf das aktuelle Datum und die aktuelle Uhrzeit. Hier bitten wir um Aufzeichnungen von vor zwei Tagen bis vor einem Tag.

last -R -s -2days -t -1days

Gestern, Heute und Heute

Sie können gestern und morgen als Kürzel für das gestrige Datum und das heutige Datum verwenden.

last -R -s yesterday -t today

Nicht, dass dies keine Aufzeichnungen für heute enthält. Das ist das erwartete Verhalten. Der Befehl fordert Datensätze vom Startdatum bis zum Enddatum an. Es enthält keine Datensätze innerhalb des Enddatums.

  So verwenden Sie den dig-Befehl unter Linux

Die Now-Option ist die Abkürzung für „heute zur aktuellen Zeit“. Um die Login-Ereignisse anzuzeigen, die seit 00:00 (Morgendämmerung) bis zum Zeitpunkt der Befehlsausgabe stattgefunden haben, verwenden Sie diesen Befehl:

last -R -s today -t now

Dadurch werden alle Login-Ereignisse bis zum aktuellen Zeitpunkt angezeigt, einschließlich derer, die noch eingeloggt sind.

Die gegenwärtige Option

Mit der Option -p (präsent) können Sie herausfinden, wer zu einem bestimmten Zeitpunkt eingeloggt war.

Es spielt keine Rolle, wann sie sich an- oder abgemeldet haben, aber wenn sie zu dem von Ihnen angegebenen Zeitpunkt am Computer angemeldet waren, werden sie in die Liste aufgenommen.

Wenn Sie eine Uhrzeit ohne Datum angeben, wird davon ausgegangen, dass Sie „heute“ meinen.

last -R -p 09:30

Leute, die (offensichtlich) noch eingeloggt sind, haben keine Abmeldezeit; sie werden als noch eingeloggt beschrieben. Wenn der Computer seit dem von Ihnen angegebenen Zeitpunkt nicht neu gestartet wurde, wird er als noch ausgeführt angezeigt.

Wenn Sie die Kurzform now mit der Option -p (present) verwenden, können Sie herausfinden, wer zum Zeitpunkt der Befehlseingabe eingeloggt ist.

last -R -p now

Dies ist ein etwas langwieriger Weg, um zu erreichen, was mit dem Befehl who erreicht werden kann.

Der letzte Befehl

Der Befehl lastb verdient Erwähnung. Es liest Daten aus einem Protokoll namens btmp. Es gibt etwas mehr Konsens über diesen Protokollnamen. Das ‚b‘ steht für schlecht, aber der ‚tmp‘-Teil wird noch diskutiert.

lastb listet die fehlgeschlagenen (fehlgeschlagenen) Anmeldeversuche auf. Es akzeptiert die gleichen Optionen wie zuletzt. Da es sich um fehlgeschlagene Anmeldeversuche handelte, haben alle Einträge eine Dauer von 00:00.

Sie müssen sudo mit lastb verwenden.

sudo lastb -R

Das letzte Wort in dieser Angelegenheit

Zu wissen, wer sich wann und von wo bei Ihrem Linux-Computer angemeldet hat, ist nützliche Informationen. Kombinieren Sie dies mit den Details fehlgeschlagener Anmeldeversuche, damit Sie die ersten Schritte zur Untersuchung verdächtigen Verhaltens haben.