GNU/Linux >> Znalost Linux >  >> Linux

Linux Last Command s příklady

Linux last command se používá ke kontrole dříve přihlášeného uživatele na váš server. Tento příkaz je v Linuxu velmi důležitý, protože pomáhá pro audit trail. Předpokládejme, že se v systému Linux něco změnilo, v této situaci si nejste jisti, kdo změny provedl. Pomocí příkazu 'poslední' můžete určit, kdo se v konkrétním čase přihlásil.

Poslední příkaz zobrazí seznam všech uživatelů přihlášených a odhlášených z '/var/log/wtmp' od vytvoření souboru. Wtmp je soubor protokolu, který zachycuje a zaznamenává každou událost přihlášení a odhlášení. Toto je binární soubor, který nelze zobrazit žádným textovým editorem. Tento trik je docela chytrý, protože žádný uživatel nebo root nemůže upravit soubor, jak chce.

Poslední příkaz vám poskytne informace o jménech všech přihlášených uživatelů, tty, IP adrese (pokud se uživatel připojuje na dálku), datum/čas a jak dlouho se uživatel přihlásil.

Jak spustit poslední příkaz

Stačí na konzoli napsat „poslední“.

Zde je ukázka:

$ 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)

Zde je návod, jak číst poslední informace:

První sloupec - jméno uživatele, který se přihlásil.

Druhý sloupec - poskytněte nám informace o tom, jak je uživatel připojen (přes pts nebo tty). Výjimkou pro aktivitu restartu bude stav zobrazen jako 'system boot'.

Třetí sloupec - ukazuje, odkud se uživatel připojil. Pokud se uživatel připojí ze vzdáleného počítače, zobrazí se název hostitele nebo adresa IP. Pokud vidíte :0.0 nebo nic, znamená to, že uživatel je připojen přes místní terminál. S výjimkou aktivity restartu se jako stav zobrazí verze jádra.

Zbývající sloupce - zobrazuje čas přihlášení a datové razítko, když došlo k aktivitě protokolu. Čísla v závorce nám říkají, kolik hodin a minut ke spojení došlo.

pts (pseudoterminál) – znamená, že se uživatel připojuje přes vzdálená připojení jako SSH nebo telnet.
tty (dálnopis) – znamená, že se uživatel připojuje prostřednictvím přímého připojení k počítači nebo místnímu terminálu.

1. Omezit počet řádků

Když máte k zobrazení hodně řádků, můžete omezit počet řádků, které chcete vidět, pomocí -n možnost.

V následujícím příkazu zobrazí 3 řádky počínaje aktuálním časem a zpět.

$ 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. Skrýt název hostitele/IP adresu

Použijte -R možnost skrýt název hostitele nebo IP adresu před tiskem.

Ukázkový výstup

$ 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. Zobrazit název hostitele v posledním sloupci

Někdy je snadné vytisknout název hostitele nebo IP adresu v posledním sloupci. Chcete-li to provést, můžete použít -a možnost, jak je uvedeno níže:

$ 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. Vytiskněte celý čas a data přihlášení a odhlášení

Ve výchozím nastavení poslední příkaz nezobrazí celé datum a čas. Můžete použít -F možnost pro toto.

Zde je ukázka:

$ 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. Vyhledávání mezi konkrétními daty

K prohledávání protokolů mezi konkrétními daty můžete použít volby -s (od) a -t (do).

Například následující příkaz vytiskne protokoly od 1. února do 1. května 2019.

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

6. Vytisknout konkrétní uživatelské jméno

Pokud chcete sledovat konkrétního uživatele, můžete jej vytisknout. Zadejte jméno uživatele s posledním příkazem.

$ 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

Nebo pokud chcete vědět, kdy je restart dokončen, můžete jej také zobrazit

$ 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. Vytiskněte konkrétní tty/pts

Last může také vytisknout informace o konkrétních tty/pts. Stačí zadat tty name nebo pty name za posledním příkazem.

Ukázkové výstupy:

$ 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)

Když v hranatých závorkách vidíte hodnotu down, znamená to, že uživatel byl přihlášen od určitého času až do restartu nebo vypnutí systému.

8. Použijte jiný soubor než /var/log/wtmp

Ve výchozím nastavení bude poslední příkaz analyzovat informace z '/var/log/wtmp'. Pokud chcete, aby byl poslední příkaz analyzován z jiného souboru, můžete použít -f parametr.

Například můžete otočit protokol po určité podmínce. Řekněme, že předchozí soubor se jmenuje '/var/log/wtmp.1' .

Poslední příkaz pak bude vypadat následovně:

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

9. Zobrazit změny úrovně běhu

Existuje -x pokud chcete zobrazit změny úrovně běhu.

Zde je ukázkový výstup:

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)

Můžete vidět, že existují dvě položky úrovně běhu. Runlevel, který má to lvl 3 vstup znamená, že systém běží v režimu plné konzoly. Žádné aktivní X Window nebo GUI. Mezitím, když je systém vypnut, Linux nám běží na úrovni 0. Proto vám naposledy ukázal to lvl 0 vstup.

Chcete-li zobrazit datum a čas posledního vypnutí, použijte následující příkaz:

#last -x | grep shutdown | head -1

10. Zobrazit špatná přihlášení

Zatímco poslední příkaz zaznamenává úspěšná přihlášení, pak příkaz lastb zaznamená neúspěšné pokusy o přihlášení. Ke spuštění příkazu lastb musíte mít přístup root. Lastb bude analyzovat informace z /var/log/btmp.

Zde je ukázkový výstup z příkazu lastb.

# lastb

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

11. Zobrazit IP adresu locahost

Pomocí -d (pro nelokální přihlášení), linux ukládá nejen název hostitele vzdáleného hostitele, ale také jeho IP číslo.

# 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. Otočte protokoly wtmp

Protože '/var/log/wtmp' zaznamenává každou jednotlivou aktivitu přihlášení, velikost souboru může rychle narůst. Ve výchozím nastavení bude Linux střídat '/var/log/wtmp' každý měsíc. Podrobnosti o rotaci jsou uvedeny v souboru /etc/logrotate.conf.

Zde je obsah mého souboru '/etc/logrotate.conf'.

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

A pro '/var/log/btmp' je zde výchozí konfigurace rotace aktivity

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

Vymazat historii posledních příkazů

Jak víme, že to zapisuje do wtmp, takže pokud chceme smazat poslední historii, můžeme to udělat přes

#> /var/log/wtmp

Or

#> /var/log/lastlog

Závěr

V tomto tutoriálu jsme se naučili používat poslední příkaz v Linuxu ke kontrole protokolů ze souboru wtmp. Pro více podrobností prosím navštivte poslední manuálovou stránku zadáním man last na vaší konzoli.


Linux
  1. Linux Tee Command s příklady

  2. Příkaz linuxové hlavy s příklady

  3. JQ Command v Linuxu s příklady

  1. wc Linux Command s příklady

  2. Linux řazení příkazů s příklady

  3. Echo Command v Linuxu (s příklady)

  1. man Command v Linuxu s příklady

  2. Příkaz AWK v Linuxu s příklady

  3. Curl Command v Linuxu s příklady