In diesem Tutorial werden wir sehen, wie man die zuletzt angemeldeten Benutzer in Linux mit last
findet , lastb
und lastlog
Befehle mit Beispielen.
Einführung
Als Linux-Systemadministrator sollten Sie routinemäßig das Anmeldedatum und die Uhrzeit der Benutzer auf Ihrem Linux-Server überprüfen. Es gibt Ihnen einige nützliche Details, wie z. B. wie viele Benutzer aktiv sind, wie viele Benutzer inaktiv sind und wann und wie lange sie sich anmelden usw.
Wenn einige Benutzerkonten längere Zeit nicht verwendet wurden, können Sie sie einfach sperren, wenn sie nicht mehr benötigt werden. Sie können auch die letzten Anmeldedaten verwenden, wenn Sie Ihre Linux-Server prüfen und untersuchen, welcher Benutzer das Problem verursacht haben könnte.
Glücklicherweise enthält das GNU/Linux-Betriebssystem die Triplet-Befehle nämlich last
, lastb
und lastlog
um die Anmeldedaten der letzten Benutzer anzuzeigen.
1. Anzeige der Liste der zuletzt angemeldeten Benutzer in Linux mit dem letzten Befehl
Wie der Name schon sagt, der last
Der Befehl wird verwendet, um die zuletzt angemeldeten Benutzer in Linux- und Unix-ähnlichen Systemen anzuzeigen. Es liest den /var/log/wtmp
durch Datei und findet alle angemeldeten sowie abgemeldeten Benutzer seit der Erstellung dieser Datei. Sie können auch die letzten Anmeldedaten eines bestimmten Benutzers auflisten und sogar herausfinden, wer das Linux-System neu gestartet hat mit Hilfe von last
Befehl.
Bitte beachten Sie, dass Ihr System nur Informationen im wtmp
protokolliert Datei. Sollte diese Datei aus irgendeinem Grund nicht vorhanden sein, erstellen Sie sie einfach mit touch
Befehl wie unten:
$ sudo touch /var/log/wtmp
Lassen Sie uns nun die letzten Anmeldedaten und -zeiten mit last
herausfinden Befehl.
Um die letzten Anmeldungen, ihre Dauer und andere Informationen in Ihrem Linux-System anzuzeigen, führen Sie einfach Folgendes aus:
$ zuletzt
Beispielausgabe:
ostechni pts/0 192.168.225.37 Thu Jan 7 08:30 noch eingeloggt inostechni tty1 Do Jan 7 08:29 noch eingeloggtreboot system boot 5.4.0-53-generic Do 7 Jan 08:20 läuft noch reboot system boot 5.4. 0-48-generic Fr Nov 20 10:13 - 11:44 (01:31)...reboot system boot 5.4.0-33-generic Mi Jul 8 08:49 - 11:41 (02:52)ostechni web Konsole Mo 6. Juli 08:19 - 08:20 (00:00)ostechni pts/2 192.168.225.37 Mo 6. Juli 08:14 - 08:30 (00:15)ostechni pts/0 192.168.225.37 Mo 6. Juli 07:41 - 12:27 (04:45)reboot system boot 5.4.0-33-generic Mo 6. Juli 07:21 - 12:27 (05:06)ostechni pts/3 192.168.225.37 Sa 4. Juli 12:01 - 12 :12 (00:10)ostechni pts/2 192.168.225.37 Sa 4. Juli 11:14 - 13:01 (01:46)ostechni pts/0 192.168.225.37 Sa 4. Juli 07:55 - 13:01 (05:05 )reboot system boot 5.4.0-33-generic Sa 4. Juli 07:53 - 13:03 (05:09)ostechni tty1 Fr 29. Mai 10:07 - down (00:00)reboot system boot 5.4.0-33-generic Fr 29. Mai 10:06 - 10:07 (00:01)ostechni pts/0 192.168.225.37 Fr 29. Mai 09:36 - 10:06 ( 00:29)ostechni tty1 Fr 29. Mai 09:36 - down (00:29)reboot system boot 5.4.0-31-generic Fr 29. Mai 09:35 - 10:06 (00:30)ostechni tty1 So 24. Mai 13 :17 - down (00:02)reboot system boot 5.4.0-31-generic So 24. Mai 13:16 - 13:20 (00:03)wtmp beginnt So 24. Mai 13:16:52 2020
Wie Sie in der obigen Ausgabe sehen, zeigt der letzte Befehl die folgenden Details der letzten Anmeldungen:
- Name des Benutzers. Wenn noch ein Benutzer angemeldet ist, werden diese Details ebenfalls angezeigt.
- Typ des Endgerätes (zB tty oder pts) auf dem die Sitzung stattgefunden hat.
- Quell-IP-Adresse oder Hostname, von dem aus sich der Benutzer angemeldet hat.
- Anmeldedatum und -zeitstempel (d. h. die Start- und Endzeiten der Anmeldesitzung).
- Die Gesamtdauer der Sitzung.
- Die letzte Zeile gibt Datum und Uhrzeit der frühesten aufgezeichneten Sitzung im
wtmp
an Protokolldatei.
In der obigen Ausgabe haben Sie vielleicht bemerkt, dass es einen Anmeldeeintrag eines speziellen Benutzers namens reboot
gibt . Der last
Der Befehl speichert die Aufzeichnungen dieses Benutzers bei jedem Hochfahren des Computers.
Wenn wir last
ausführen Befehl ohne Optionen, wird die gesamte Protokollausgabe angezeigt. Es hat viele Optionen zum Filtern, Formatieren und Begrenzen der Ausgabe nach Ihren Wünschen. Ich habe Beispiele für die gängigsten Optionen beigefügt.
1.1. Ausgabe auf bestimmte Benutzer beschränken
Wie bereits erwähnt, der last
Der Befehl listet alle letzten Anmeldungen auf, die im wtmp
aufgezeichnet wurden Datei. Wenn Sie die letzten Anmeldungen eines bestimmten Benutzers anzeigen möchten (d. h. alle Anmeldungen eines bestimmten Benutzers anzeigen), zum Beispiel ostechnix , wäre der Befehl:
$ last ostechnix
Beispielausgabe:
ostechni pts/0 192.168.225.37 Do Jan 7 08:30 noch eingeloggt inostechni tty1 Do Jan 7 08:29 noch eingeloggt inostechni pts/0 192.168.225.37 Mi Jan 6 11:02 - 13:31 (02:28) [...]
Sie können auch wie unten durch Kommas getrennt mehrere Benutzernamen angeben:
$ last ostechnix sk
1.2. Ausgabe auf bestimmte tty oder pts beschränken
Der last
command speichert den Typ des Endgeräts (z. B. tty oder pts), auf dem die Sitzung stattgefunden hat.
Angenommen, die Benutzer haben sich entweder lokal oder über ssh bei der Linux-Maschine angemeldet. Wenn Sie die Ausgabe auf bestimmte tty
beschränken möchten , führen Sie einfach Folgendes aus:
$ letzter tty1
Beispielausgabe:
ostechni tty1 Do Jan 7 08:29 noch eingeloggtostechni tty1 Mi Jan 6 11:00 - down (02:31)ostechni tty1 Fri Nov 20 11:52 - down (00:38)[...]Namen von ttys können abgekürzt werden. Beispielsweise können Sie
last 1
ausführen stattlast tty1
.Ebenso, um nur
pts
aufzulisten die Anmeldungen der Sitzungen, führen Sie Folgendes aus:$ letzte Punkte/0 ostechni pts/0 192.168.225.37 Do Jan 7 08:30 noch eingeloggt inostechni pts/0 192.168.225.37 Mi Jan 6 11:02 - 13:31 (02:28)sk pts/0 192.168.225.37 Mi Jan 6 11:02 - 11:02 (00:00)[...]Sie können auch mehrere Benutzernamen mit ttys wie unten angeben:
$ last ostechnix sk pts/0 tty11.3. Beschränken Sie die Ausgabe auf eine bestimmte Anzahl von Zeilen
Der
wtmp
Die Protokolldatei kann eine große Anzahl von Einträgen enthalten. Wenn Sie die Ausgabe vonlast
einschränken möchten Befehl auf eine bestimmte Anzahl von Zeilen, verwenden Sie-n
Flagge wie unten:$ last -n 5Oder,
$ zuletzt -5Der obige Befehl zeigt nur die 5 Zeilen in der Ausgabe an:
ostechni pts/0 192.168.225.37 Thu Jan 7 08:30 noch eingeloggt inostechni tty1 Do Jan 7 08:29 noch eingeloggtreboot system boot 5.4.0-53-generic Do 7 Jan 08:20 läuft nochostechni pts/0 192.168 .225.37 Mi Jan 6 11:02 - 13:31 (02:28)sk pts/0 192.168.225.37 Mi Jan 6 11:02 - 11:02 (00:00)wtmp beginnt So 24. Mai 13:16:52 20201.4. Hostname statt IP-Adresse anzeigen
Standardmäßig
last
Der Befehl zeigt die Quell-IP an, von der der Benutzer ihn angemeldet hat. Wenn Sie statt der IP-Adresse den Hostnamen anzeigen möchten, verwenden Sie-d
(oder--dns
) Option:$ last -d -5Sie können mit
-w
auch vollständige Benutzernamen und Domänennamen in der Ausgabe anzeigen (oder--fullnames
)-Option.1.5. Hostname und IP-Adresse verbergen
Um das Hostname- oder IP-Feld zu unterdrücken, verwenden Sie
-R
Option.$ last -5 -RBeispielausgabe:
ostechni pts/0 Do Jan 7 08:30 noch eingeloggt inostechni tty1 Do Jan 7 08:29 noch eingeloggtreboot system boot Do Jan 7 08:20 läuft nochostechni pts/0 Mi Jan 6 11:02 - 13:31 ( 02:28)sk pts/0 Mi Jan 6 11:02 - 11:02 (00:00)wtmp beginnt So 24. Mai 13:16:52 20201.6. Benutzeranmeldungsdatensätze zu einer bestimmten Zeit anzeigen
Das
-p
(oder--present
) wird verwendet, um herauszufinden, wer gerade oder zu einem bestimmten Zeitpunkt angemeldet war.Führen Sie beispielsweise den folgenden Befehl aus, um die zuletzt angemeldeten Benutzer heute um 8:30 Uhr aufzulisten:
$ last -p 08:30Beispielausgabe:
ostechni tty1 Do Jan 7 08:29 immer noch angemeldetreboot system boot 5.4.0-53-generic Do Jan 7 08:20 läuft noch wtmp beginnt So 24 Mai 13:16:52 2020Um aufzulisten, wer derzeit angemeldet ist (d. h. zum Zeitpunkt der Ausführung dieses Befehls), führen Sie Folgendes aus:
$ last -p now1.7. Angemeldete Benutzer innerhalb eines bestimmten Zeitintervalls anzeigen
Der
last
Der Befehl hat zwei Optionen, nämlich-s
(--since
) und-t
(--until
) um eingeloggte Benutzer innerhalb eines bestimmten Zeitraums anzuzeigen. Das-s
Option wird verwendet, um den Status der Anmeldungen seit der angegebenen Zeit und dem-t
anzuzeigen Option wird verwendet, um den Status der Anmeldungen bis zum angegebenen Zeitpunkt anzuzeigen.Zum Beispiel, wenn Sie die letzten Anmeldungen anzeigen möchten, die vom
2021-01-07
stattgefunden haben bis2021-01-11
, lautet der Befehl:$ last -s 2021-01-07 -t 2021-01-11Beispielausgabe:
ostechni pts/0 192.168.225.37 Thu Jan 7 08:30 - 13:16 (04:46)ostechni tty1 Do Jan 7 08:29 - down (04:47)reboot system boot 5.4.0-53-generic Do 7. Jan 08:20 - 13:16 (04:56)wtmp beginnt So 24. Mai 13:16:52 2020Um die letzten Anmeldungen von gestern anzuzeigen bis heute , ausführen:
$ last -s gestern -t heuteWenn Sie nur Anmeldedatensätze seit dem 7. Januar 2021 bis heute auflisten möchten, führen Sie Folgendes aus:
$ last -s 2021-01-07 ostechni pts/0 192.168.225.37 Mo Jan 11 06:39 noch eingeloggtreboot system boot 5.4.0-59-generic Mo Jan 11 06:37 läuft nochostechni pts/0 192.168.225.37 Do Jan 7 08:30 - 13:16 ( 04:46)ostechni tty1 Do Jan 7 08:29 - down (04:47)reboot system boot 5.4.0-53-generic Do Jan 7 08:20 - 13:16 (04:56)wtmp beginnt So 24. Mai 13 :16:52 20201.8. Anzeige der zuletzt angemeldeten Benutzer mit vollständigem Datum und Uhrzeit
Das
-F
(--fulltimes
) Option wird verwendet, um das vollständige Anmelde- und Abmeldedatum und die Uhrzeit inlast
anzuzeigen Ausgabe des Befehls.$ last -5 -FBeispielausgabe:
ostechni pts/0 192.168.225.37 Mon Jan 11 06:39:29 2021 noch eingeloggt[...]1.9. Hostname in der letzten Spalte anzeigen
Das
-a
(--hostlast
) Option wird verwendet, um die Hostname-Spalte zuletzt anzuzeigen, um ein Abschneiden zu verhindern.$ last -d -a ostechni pts/0 Mo Jan 11 06:39 immer noch eingeloggt ostechnix [...]1.10. Anzeigen der letzten Anmeldedatensätze des Pseudobenutzers „reboot“
Wie ich bereits erwähnt habe, speichert der letzte Befehl die Aufzeichnung eines speziellen Pseudo-Benutzers namens "reboot" und "shutdown".
Verwenden Sie die folgenden Befehle, um die letzten Anmeldedaten von "reboot"- und "shutdown"-Benutzern anzuzeigen:
$ letzter Neustart$ letztes Herunterfahren2. Fehlgeschlagene Anmeldeversuche mit lastb in Linux anzeigen
Das
lastb
ist dasselbe wielast
Befehl, aber es listet nur alle schlechten Anmeldeversuche auf. Es erhält die fehlgeschlagenen Anmeldedaten aus/var/log/btmp
Datei.Bitte beachten Sie, dass Ihr System nur Informationen im
btmp
protokolliert Datei, falls vorhanden. Sollte diese Datei aus irgendeinem Grund nicht vorhanden sein, erstellen Sie sie einfach mittouch
Befehl wie unten:$ sudo touch /var/log/btmpJetzt können wir die fehlgeschlagenen Anmeldeversuche mit dem lastb-Befehl wie unten anzeigen:
$ sudo lastbBeispielausgabe:
UNKNOWN tty1 Mo Jan 11 07:51 - 07:51 (00:00)sk tty1 Mo Jan 11 07:51 - 07:51 (00:00)UNKNOWN tty1 Mo Jan 11 07:51 - 07:51 ( 00:00)sk tty1 Mo Jan 11 07:51 - 07:51 (00:00)ostechni ssh:notty 192.168.225.37 Mo Jan 11 07:49 - 07:49 (00:00)ostechni ssh:notty 192.168.225.37 Mo Jan 11 07:49 - 07:49 (00:00)ostechni ssh:notty 192.168.225.37 Mo Jan 11 07:49 - 07:49 (00:00)UNKNOWN tty1 Mi Jan 6 10:59 - 10:59 ( 00:00)btmp beginnt am Mi, 6. Januar 10:59:57 2021Die obigen Befehle listen alle erfolglosen Anmeldeversuche aller Benutzer im Linux-System auf. Es zeigt auch fehlgeschlagene Anmeldeversuche, die über SSH stattgefunden haben.
3. Finden Sie die zuletzt angemeldeten Benutzer in Linux mit dem Befehl lastlog
Das letzte Protokoll Der Befehl zeigt die letzte Anmeldung aller Benutzer oder eines bestimmten Benutzers in Linux- und Unix-ähnlichen Betriebssystemen. Es ruft die Liste der zuletzt angemeldeten Benutzer aus
/var/log/lastlog
ab Datei und zeigt das Ergebnis in der Standardausgabe an.Um die letzte Anmeldung aller Benutzer anzuzeigen, führen Sie Folgendes aus:
$ lastlogBeispielausgabe:
Benutzername Port Von Latestroot **Nie eingeloggt**daemon **Nie eingeloggt**bin **Nie eingeloggt**[...]systemd-coredump **Nie eingeloggt**ostechnix tty1 Mo Jan 11 07:51:46 +0000 2021lxd **Nie eingeloggt**dnsmasq **Nie eingeloggt**libvirt-qemu **Nie eingeloggt**libvirt-dnsmasq **Nie eingeloggt**cockpit-ws **Nie eingeloggt in**cockpit-wsinstance **Nie eingeloggt**libvirtdbus **Nie eingeloggt**_flatpak **Nie eingeloggt**sk pts/0 192.168.225.37 Mi Jan 6 11:02:17 +0000 2021root **Neve r eingeloggt**niemand **nie eingeloggt**Wie Sie in der obigen Ausgabe sehen,
lastlog
Der Befehl zeigt die letzten Anmeldedatensätze von Systembenutzerkonten sowie anderen Dienstkonten wiebin
an ,daemon
,sys
,nobody
usw.Das
lastlog
Der Befehl gibt den Anmeldenamen, den Port, die Quell-IP-Adresse, von der aus sich der Benutzer angemeldet hat, sowie Datum und Uhrzeit der letzten Anmeldung aus. Wenn sich ein Benutzer noch nie angemeldet hat, wird die Meldung** Never logged in**
ausgegeben statt Port und Zeit in der Ausgabe.Sie fragen sich vielleicht, warum sich viele Dienstkonten noch nie angemeldet haben. Dies liegt daran, dass die Anmelde-Shells für diese Konten entweder auf
/sbin/nologin
eingestellt sind . Es ist eine gängige Sicherheitspraxis, die verwendet wird, um den direkten Zugriff auf die Shell einzuschränken.3.1. Zuletzt angemeldete Details eines bestimmten Benutzers anzeigen
Wenn Sie den letzten Protokolleintrag eines bestimmten Benutzers anzeigen möchten, zum Beispiel ostechnix , wäre der Befehl:
$ lastlog -u ostechnixBeispielausgabe:
Benutzername Port von Latestostechnix tty1 Mo Jan 11 07:51:46 +0000 20213.2. Anzeigen der letzten eingeloggten Aufzeichnungen vor oder vor X Tagen
Das
lastlog
Der Befehl kann die letzten Anmeldedatensätze vor oder vor X Tagen anzeigen.Beispielsweise können Sie mit
-b
die letzten Anmeldedaten aller Benutzer vor weniger als 5 Tagen abrufen Flagge wie unten:$ lastlog -b 5Um Anmeldedatensätze anzuzeigen, die jünger als 5 Tage sind, verwenden Sie auf ähnliche Weise
-t
Flagge:$ lastlog -t 53.3. Entfernen oder löschen Sie die letzten Anmeldeinformationen mit lastlog in Linux
Wenn Sie den Lastlog-Datensatz eines Benutzers nicht möchten, löschen Sie ihn einfach mit
-C
(--clear
) Flagge:$ sudo lastlog -u ostechnix -CFühren Sie Folgendes aus, um zu überprüfen, ob der Protokolldatensatz gelöscht wurde:
$ lastlog -u ostechnixUsername Port Von Neuestemostechnix **Nie angemeldet**Hilfe bekommen
Weitere Einzelheiten finden Sie im Hilfeabschnitt des jeweiligen Befehls.
$ last --help$lastb --help$ lastlog --helpOder gehen Sie die Manpages der einzelnen Befehle durch:
$ Mann zuletzt$ man lastb$ man lastlogSchlussfolgerung
Der
last
,lastb
undlastlog
Befehle kommt als Rettung, um verdächtige Benutzeraktivitäten in einem Linux-System zu erkennen. Herauszufinden, wer sich kürzlich beim Linux-Server angemeldet (oder abgemeldet) hat, wann und wie lange er sich angemeldet hat, sind wichtige Details, die Ihnen definitiv bei der Fehlerbehebung helfen werden.Verwandte Lektüre:
- So finden Sie aktuell angemeldete Benutzer in Linux
- So listen Sie alle Benutzer unter Linux auf
- So überwachen Sie die Benutzeraktivität unter Linux
- Einschränken des Benutzerzugriffs auf das Linux-System