GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So finden Sie die zuletzt angemeldeten Benutzer in Linux

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 statt last 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 tty1

1.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 von last einschränken möchten Befehl auf eine bestimmte Anzahl von Zeilen, verwenden Sie -n Flagge wie unten:

$ last -n 5

Oder,

$ zuletzt -5

Der 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 2020 

1.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 -5

Sie 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 -R

Beispielausgabe:

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 2020

1.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:30

Beispielausgabe:

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 2020

Um aufzulisten, wer derzeit angemeldet ist (d. h. zum Zeitpunkt der Ausführung dieses Befehls), führen Sie Folgendes aus:

$ last -p now

1.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 bis 2021-01-11 , lautet der Befehl:

$ last -s 2021-01-07 -t 2021-01-11

Beispielausgabe:

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 2020

Um die letzten Anmeldungen von gestern anzuzeigen bis heute , ausführen:

$ last -s gestern -t heute

Wenn 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 2020

1.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 in last anzuzeigen Ausgabe des Befehls.

$ last -5 -F

Beispielausgabe:

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 Herunterfahren

2. Fehlgeschlagene Anmeldeversuche mit lastb in Linux anzeigen

Das lastb ist dasselbe wie last 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 mit touch Befehl wie unten:

$ sudo touch /var/log/btmp

Jetzt können wir die fehlgeschlagenen Anmeldeversuche mit dem lastb-Befehl wie unten anzeigen:

$ sudo lastb

Beispielausgabe:

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 2021

Die 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:

$ lastlog

Beispielausgabe:

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 wie bin an , daemon , sys , mail , 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 ostechnix

Beispielausgabe:

Benutzername Port von Latestostechnix tty1 Mo Jan 11 07:51:46 +0000 2021

3.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 5

Um Anmeldedatensätze anzuzeigen, die jünger als 5 Tage sind, verwenden Sie auf ähnliche Weise -t Flagge:

$ lastlog -t 5

3.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 -C

Fü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 --help

Oder gehen Sie die Manpages der einzelnen Befehle durch:

$ Mann zuletzt
$ man lastb
$ man lastlog

Schlussfolgerung

Der last , lastb und lastlog 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

Linux
  1. So verwenden Sie FIND unter Linux

  2. So ändern Sie den Hostnamen unter Linux

  3. So finden Sie eine Datei in Linux

  4. Wie finde ich Dateien, die in den letzten 30 Tagen in Linux geändert wurden?

  5. So finden Sie Dateien im DOS-Format in einem Linux-Dateisystem

So finden Sie aktuell angemeldete Benutzer in Linux

So finden Sie den Hostnamen unter Linux

Linux-Berechtigungen – So finden Sie Berechtigungen einer Datei

So finden Sie Dateien, die in den letzten 24 Stunden in Linux geändert wurden

So finden Sie die letzte Anmeldung unter Linux

So sehen Sie angemeldete Benutzer in Linux