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

Linux letzter Befehl mit Beispielen

Der letzte Linux-Befehl wird verwendet, um zuvor angemeldete Benutzer auf Ihrem Server zu überprüfen. Dieser Befehl ist unter Linux sehr wichtig, da er für den Prüfpfad hilfreich ist. Angenommen, am Linux-System wird etwas geändert, in dieser Situation sind Sie sich nicht sicher, wer die Änderungen vorgenommen hat. Mit dem 'last'-Befehl können Sie feststellen, wer sich zu einem bestimmten Zeitpunkt angemeldet hat.

Der letzte Befehl zeigt eine Liste aller Benutzer an, die sich seit der Erstellung der Datei bei „/var/log/wtmp“ an- und abgemeldet haben. Wtmp ist eine Protokolldatei, die jedes Anmelde- und Abmeldeereignis erfasst und aufzeichnet. Dies ist eine Binärdatei, die von keinem Texteditor angezeigt werden kann. Dieser Trick ist ziemlich schlau, da kein Benutzer oder Root die Datei nach Belieben ändern kann.

Der letzte Befehl gibt Ihnen Informationen über die Namen aller angemeldeten Benutzer, tty, IP-Adresse (wenn der Benutzer eine Remote-Verbindung herstellt), Datum/Uhrzeit und wie lange sich der Benutzer angemeldet hat.

Wie man den letzten Befehl ausführt

Sie müssen nur 'last' auf Ihrer Konsole eingeben.

Hier ist das Beispiel:

$ last

leni pts/0 10.0.76.162 Mon Dec 2 12:32 - 13:25 (00:53)
pungki tty1 Mon Dec 2 09:31 still logged in
reboot system boot 2.6.32-358.23.2 Mon Dec 2 09:20 - 13:25 (04:05)

So lesen Sie die letzten Informationen:

Die erste Spalte - Name des angemeldeten Benutzers.

Die zweite Spalte - Geben Sie uns Informationen darüber, wie der Benutzer verbunden ist (über pts oder tty). Ausnahme für Neustartaktivitäten, der Status wird als „Systemstart“ angezeigt.

Die dritte Spalte - Zeigt an, von wo aus sich der Benutzer verbunden hat. Wenn sich der Benutzer von einem entfernten Computer aus verbindet, sehen Sie einen Hostnamen oder eine IP-Adresse. Wenn Sie :0.0 oder nichts sehen, bedeutet dies, dass der Benutzer über ein lokales Terminal verbunden ist. Ausnahme für Neustartaktivität, die Kernelversion wird als Status angezeigt.

Die verbleibenden Spalten - Zeigt die Anmeldezeit und den Datenstempel an, wenn die Protokollaktivität stattgefunden hat. Zahlen in Klammern sagen uns, wie viele Stunden und Minuten die Verbindung bestanden hat.

pts (Pseudo-Terminal) - bedeutet, dass sich der Benutzer über Remote-Verbindungen wie SSH oder Telnet verbindet.
tty (Fernschreiber) - bedeutet, dass der Benutzer eine direkte Verbindung zum Computer oder lokalen Terminal herstellt.

1. Zeilenanzahl begrenzen

Wenn Sie viele Zeilen anzuzeigen haben, können Sie die Anzahl der anzuzeigenden Zeilen mit -n begrenzen Option.

Im folgenden Befehl werden 3 Zeilen beginnend mit der aktuellen Zeit und rückwärts angezeigt.

$ last -n 3

leni pts/0 10.0.76.162 Mon Dec 2 12:32 - 13:25 (00:53)
pungki tty1 Mon Dec 2 09:31 still logged in
reboot system boot 2.6.32-358.23.2 Mon Dec 2 09:20 - 13:25 (04:05)

2. Hostname/IP-Adresse verbergen

Verwenden Sie -R Option, um den Hostnamen oder die IP-Adresse vor dem Drucken zu verbergen.

Beispielausgabe

$ last -R

leni pts/0 Mon Dec 2 12:32 - 13:25 (00:53)
pungki tty1 Mon Dec 2 09:31 still logged in
reboot system boot Mon Dec 2 09:20 - 13:25 (04:05)

3. Zeigt den Hostnamen in der letzten Spalte an

Manchmal ist es einfach, den Hostnamen oder die IP-Adresse in der letzten Spalte zu drucken. Dazu können Sie -a verwenden Option wie unten gezeigt:

$ last -a

leni pts/0 Mon Dec 2 12:32 - 13:25 (00:53) 10.0.76.162
pungki tty1 Mon Dec 2 09:31 still logged in :0.0
reboot system boot Mon Dec 2 09:20 - 13:25 (04:05) 2.6.32-358.23.2.el6.i686

4. Vollständige Anmelde- und Abmeldezeit und -daten drucken

Standardmäßig zeigt der letzte Befehl nicht das vollständige Datum und die vollständige Uhrzeit an. Sie können -F verwenden Option dafür.

Hier ist ein Beispiel:

$ last -F

leni pts/0 10.0.76.162 Mon Dec 2 12:32:24 2013 - Mon Dec 2013 13:25:24 2013 (00:53)

5. Suche zwischen bestimmten Daten

Sie können die Optionen -s (seit) und -t (bis) verwenden, um Protokolle zwischen bestimmten Daten zu durchsuchen.

Der folgende Befehl druckt beispielsweise Protokolle vom 1. Februar bis zum 1. Mai 2019.

$sudo last -F -s 2019-02-01 -t 2019-05-01

6. Spezifischen Benutzernamen drucken

Wenn Sie einen bestimmten Benutzer verfolgen möchten, können Sie ihn speziell ausdrucken. Geben Sie den Namen des Benutzers mit dem letzten Befehl ein.

$ last leni

leni tty1 Mon Dec 2 18-42 still logged in
leni pts/0 Mon Dec 2 12:32 - 13:25 (00:53) 10.0.76.162

Wenn Sie wissen möchten, wann der Neustart abgeschlossen ist, können Sie ihn auch anzeigen

$ last reboot

reboot system boot Mon Dec 2 09:20 - 16:55 (07:34)
reboot system boot Sun Dec 1 04:26 - 04:27 (00:01)
reboot system boot Wed Nov 27 20:27 - 01:24 (04:57)
reboot system boot Tue Nov 26 21:06 - 06:13 (09:06)

7. Spezifische tty/pts drucken

Last kann auch Informationen über bestimmte tty/pts drucken. Setzen Sie einfach das tty name oder pty name hinter dem letzten Befehl.

Beispielausgaben:

$ last tty1

pungki tty1 Mon Dec 2 09:31 still logged in
pungki tty1 Mon Dec 2 04:26 - down (00:00)
pungki tty1 Mon Dec 2 04:07 - down (00:00)
pungki tty1 Sun Dec 1 18:55 - 04:07 (09:12)
$ last pts/0

leni pts/0 10.0.76.162 Mon Dec 2 12:32 - 13:25 (00:53)
pungki pts/0 :0.0 Wed Nov 27 20:28 - down (04:56)

Wenn Sie den Down-Wert in Klammern sehen, bedeutet dies, dass der Benutzer von einer bestimmten Zeit bis zum Neustart oder Herunterfahren des Systems angemeldet war.

8. Verwenden Sie eine andere Datei als /var/log/wtmp

Standardmäßig analysiert der letzte Befehl Informationen aus „/var/log/wtmp“. Wenn Sie möchten, dass der letzte Befehl aus einer anderen Datei analysiert wird, können Sie -f verwenden Parameter.

Beispielsweise können Sie das Protokoll nach einer bestimmten Bedingung rotieren. Nehmen wir an, die vorherige Datei heißt „/var/log/wtmp.1“ .

Dann sieht der letzte Befehl wie folgt aus:

$ last -f /var/log/wtmp.1

9. Anzeige der Runlevel-Änderungen

Es gibt -x Option, wenn Sie Runlevel-Änderungen anzeigen möchten.

Hier ist eine Beispielausgabe:

pungki tty1 Mon Dec 2 19:21 still logged in
runlevel (to lvl 3) 2.6.32-358.23.2 Mon Dec 2 19:20 - 19:29 (00:08)
reboot system boot 2.6.32-358.23.2 Mon Dec 2 19:20 - 19:29 (00:08)
shutdown system down 2.6.32-358.23.2 Mon Dec 2 18:56 - 19:20 (00:23)
runlevel (to lvl 0) 2.6.32-358.23.2 Mon Dec 2 18:56 - 18:56 (00:00)
leni tty1 Mon Dec 2 18:42 - down (00:00)

Sie können sehen, dass es zwei Runlevel-Einträge gibt. Runlevel, der to lvl 3 hat Der Eintrag bedeutet, dass das System im vollständigen Konsolenmodus ausgeführt wird. Kein aktives X Window oder GUI. In der Zwischenzeit, wenn das System heruntergefahren wird, läuft Linux us auf Level 0. Deshalb zeigen wir Ihnen zuletzt to lvl 0 Eintrag.

Verwenden Sie den folgenden Befehl, um Datum und Uhrzeit des letzten Herunterfahrens anzuzeigen:

#last -x | grep shutdown | head -1

10. Ungültige Anmeldungen anzeigen

Während der letzte Befehl erfolgreiche Anmeldungen protokolliert, zeichnet der Befehl lastb fehlgeschlagene Anmeldeversuche auf. Sie müssen Root-Zugriff haben, um den Befehl lastb auszuführen. Lastb analysiert Informationen aus /var/log/btmp.

Hier ist eine Beispielausgabe des lastb-Befehls.

# lastb

leni tty1 Mon Dec 2 22:12 - 22:12 (00:00)
rahma tty1 Mon Dec 2 22:11 - 22:11 (00:00)

11. Anzeige der IP-Adresse des lokalen Hosts

Mit -d Option (für nicht lokale Anmeldungen), speichert Linux nicht nur den Hostnamen des entfernten Hosts, sondern auch seine IP-Nummer.

# last -d
root pts/1 192.168.1.100 Fri Jun 22 01:58 still logged in
root pts/0 192.168.1.100 Fri Jun 22 01:52 still logged in

12. Wtmp-Protokolle rotieren

Da '/var/log/wtmp' jede einzelne Anmeldeaktivität aufzeichnet, kann die Größe der Datei schnell anwachsen. Standardmäßig rotiert Linux „/var/log/wtmp“ jeden Monat. Die Details der Rotationsaktivität werden in die Datei /etc/logrotate.conf eingefügt.

Hier ist der Inhalt meiner '/etc/logrotate.conf'-Datei.

/var/log/wtmp {
monthly
create 0664 root umtp
minsize 1M
rotate 1
}

Und für „/var/log/btmp“ ist hier die Standardkonfiguration der Rotationsaktivität

/var/log/btmp {
missingok
monthly
create 0600 root umtp
minsize 1M
rotate 1
}

Letzte Befehlshistorie löschen

Da wir wissen, dass es in wtmp schreibt, können wir dies über

tun, wenn wir den letzten Verlauf löschen möchten
#> /var/log/wtmp

Or

#> /var/log/lastlog

Schlussfolgerung

In diesem Tutorial haben wir gelernt, wie man den letzten Befehl in Linux verwendet, um Protokolle aus der wtmp-Datei zu überprüfen. Weitere Einzelheiten finden Sie auf der letzten Handbuchseite, indem Sie auf Ihrer Konsole man last eingeben.


Linux
  1. wc Linux-Befehl mit Beispielen

  2. Linux-Sortierungsbefehl mit Beispielen

  3. Linux Tee-Befehl mit Beispielen

  4. Linux-Kopfbefehl mit Beispielen

  5. JQ-Befehl in Linux mit Beispielen

Linux-CD-Befehl mit Beispielen

Linux letzter Befehl mit Beispielen

Linux-Uhrbefehl mit Beispielen

Wartebefehl in Linux mit Beispielen

Linux-Exportbefehl mit Beispielen

Linux-IP-Befehl mit Beispielen