GNU/Linux >> Znalost Linux >  >> Linux

Jak najít naposledy přihlášené uživatele v Linuxu

V tomto tutoriálu uvidíme, jak najít poslední přihlášené uživatele v Linuxu pomocí last , lastb a lastlog příkazy s příklady.

Úvod

Jako správce systému Linux byste měli pravidelně kontrolovat datum a čas přihlášení uživatelů na vašem serveru Linux. Poskytuje vám některé užitečné podrobnosti, například kolik uživatelů je aktivních, kolik uživatelů je neaktivních a kdy se přihlašují a na jak dlouho atd.

Pokud některé uživatelské účty nebyly delší dobu používány, můžete je jednoduše uzamknout, pokud již nejsou potřeba. Můžete také použít data posledního přihlášení při auditu svých linuxových serverů a zjistit, který uživatel mohl způsobit problém.

Naštěstí operační systém GNU/Linux obsahuje trojici příkazů, jmenovitě last , lastb a lastlog pro zobrazení posledních dat přihlášení uživatelů.

1. Zobrazit seznam naposledy přihlášených uživatelů v Linuxu s posledním příkazem

Jak název napovídá, last příkaz se používá k zobrazení posledních přihlášených uživatelů v systémech Linux a Unix. Čte přes /var/log/wtmp a najde všechny přihlášené i odhlášené uživatele od vytvoření souboru. Můžete také uvést nedávná data přihlášení konkrétního uživatele a dokonce zjistit, kdo restartoval systém Linux s pomocí last příkaz.

Upozorňujeme, že váš systém zaznamenává informace pouze do wtmp soubor. Pokud tento soubor není z jakéhokoli důvodu k dispozici, jednoduše jej vytvořte pomocí touch příkaz jako níže:

$ sudo touch /var/log/wtmp

Nyní zjistíme poslední data a časy přihlášení pomocí last příkaz.

Chcete-li zobrazit poslední přihlášení, jejich trvání a další informace ve vašem systému Linux, jednoduše spusťte:

$ poslední

Ukázkový výstup:

ostechni pts/0 192.168.225.37 Čt 7. ledna 08:30 stále přihlášeni inostechni tty1 Čt 7. ledna 08:29 stále přihlášeni při restartování spouštění systému 5.4.0-53-generic Čt 7. ledna 08:20 stále spuštěno 5.4. 0-48-generic Pá 20. listopadu 10:13 - 11:44 (01:31)...reboot system boot 5.4.0-33-generic St 8. července 08:49 - 11:41 (02:52)ostechni web konzole Po 6. července 08:19 - 08:20 (00:00)ostechni pts/2 192.168.225.37 Po 6. července 08:14 - 08:30 (00:15)ostechni pts/0 192.168. Po Jul 276 37 41 - 12:27 (04:45) restart systému boot 5.4.0-33-generic Po Jul 6 07:21 - 12:27 (05:06)ostechni pts/3 192.168.225.37 So Juc 4 12:01 - 12 :12 (00:10)ostechni pts/2 192.168.225.37 So 4. července 11:14 - 13:01 (01:46)ostechni pts/0 192.168.225.37 So 4. července 07:55 - 05 )reboot system boot 5.4.0-33-generic So 4. července 07:53 - 13:03 (05:09)ostechni tty1 Pá 29. května 10:07 - down (00:00)reboot system boot 5.4.0-33-generic Pá 29. května 10:06 - 10:07 (00:01)ostechni pts/0 192.168.225.37 Pá 29. května 09:36 - 10:06 ( 00:29)ostechni tty1 pá 29. května 09:36 - dolů (00:29) restart systému boot 5.4.0-31-generic pá 29. května 09:35 - 10:06 (00:30)ostechni tty1 ne 24. května 13 :17 - dolů (00:02)reboot system boot 5.4.0-31-generic Ne 24. května 13:16 - 13:20 (00:03)wtmp začíná Ne 24. května 13:16:52 2020

Jak vidíte ve výše uvedeném výstupu, poslední příkaz zobrazuje následující podrobnosti o posledních přihlášeních:

  • Jméno uživatele. Pokud je některý uživatel stále přihlášen, zobrazí se také tyto podrobnosti.
  • Typ koncového zařízení (např. tty nebo pts), na kterém se relace uskutečnila.
  • Zdrojová IP adresa nebo název hostitele, ze kterého se uživatel přihlásil.
  • Datum a časové razítko přihlášení (tj. čas zahájení a ukončení relace přihlášení).
  • Celkové trvání relace.
  • Poslední řádek označuje datum a čas nejdříve zaznamenané relace v wtmp soubor protokolu.

Ve výše uvedeném výstupu jste si možná všimli, že existuje přihlašovací záznam speciálního uživatele s názvem reboot . last příkaz uchovává záznamy o tomto uživateli při každém spuštění počítače.

Když spustíme last příkaz bez jakýchkoli voleb, zobrazí celý výstup protokolu. Má mnoho možností pro filtrování, formátování a omezení výstupu podle vašich představ. Zahrnul jsem příklady nejběžnějších možností.

1.1. Omezit výstup na konkrétního uživatele

Jak již bylo řečeno, last příkaz vypíše všechna poslední přihlášení zaznamenaná v wtmp soubor. Pokud chcete zobrazit poslední přihlášení konkrétního uživatele (tj. zobrazit všechna přihlášení konkrétního uživatele), například ostechnix , příkaz by byl:

$ last ostechnix

Ukázkový výstup:

ostechni pts/0 192.168.225.37 čt 7. ledna 08:30 stále přihlášeni inostechni tty1 čt 7. ledna 08:29 stále přihlášeni inostechni pts/0 192.168.225.37 st. 6. ledna 11:222 - 13:22 - 0 [...]

Můžete také zadat více uživatelských jmen oddělených čárkami, jak je uvedeno níže:

$ last ostechnix sk

1.2. Omezte výstup na konkrétní tty nebo pts

last příkaz uchovává záznam typu koncového zařízení (např. tty nebo pts), na kterém se relace uskutečnila.

Řekněme například, že uživatelé se mohli přihlásit k počítači se systémem Linux buď lokálně, nebo přes ssh. Pokud chcete omezit výstup na konkrétní tty , jednoduše spusťte:

$ last tty1

Ukázkový výstup:

ostechni tty1 Čt 7. ledna 08:29 stále přihlášeni inostechni tty1 St 6. ledna 11:00 - dolů (02:31)ostechni tty1 Pá 20. listopadu 11:52 - dolů (00:38)[...] 

Jména ttys mohou být zkrácena. Můžete například spustit last 1 místo last tty1 .

Podobně vypsat pouze pts přihlašovací údaje relací, spusťte:

$ posledních bodů/0 ostechni pts/0 192.168.225.37 ČT 7. ledna 08:30 stále přihlášeni inostechni pts/0 192.168.225.37 st. 6. led 11:02 - 13:31 (02:28) sk 16. ledna 2. 83. 2519 st. - 11:02 (00:00)[...]

Můžete také zadat více uživatelských jmen pomocí ttys, jak je uvedeno níže:

$ last ostechnix sk pts/0 tty1

1.3. Omezte výstup na konkrétní počet řádků

wtmp log soubor může mít velký počet záznamů. Pokud chcete omezit výstup last příkaz na určitý počet řádků, použijte -n příznak jako níže:

$ last -n 5

Nebo,

posledních $ -5

Výše uvedený příkaz zobrazí pouze 5 řádků ve výstupu:

ostechni pts/0 192.168.225.37 Čt 7. ledna 08:30 stále přihlášeni inostechni tty1 Čt 7. ledna 08:29 stále přihlášeni při restartování spouštění systému 5.4.0-53-generic Čt 7. ledna 08:20 stále běží/08192 pts .225.37 St Jan 6 11:02 - 13:31 (02:28)sk pts/0 192.168.225.37 St Jan 6 11:02 - 11:02 (00:00)wtmp begin Ne 24. května 13:202:52 

1.4. Zobrazit název hostitele místo adresy IP

Ve výchozím nastavení last zobrazí zdrojovou IP, ze které se uživatel přihlásil. Pokud chcete místo IP adresy zobrazit název hostitele, použijte -d (nebo --dns ) možnost:

$ last -d -5

Můžete také zobrazit úplná uživatelská jména a názvy domén ve výstupu pomocí -w (nebo --fullnames ).

1.5. Skrýt název hostitele a IP adresu

Chcete-li potlačit název hostitele nebo pole IP, použijte -R možnost.

$ posledních -5 -R

Ukázkový výstup:

ostechni pts/0 Čt 7. ledna 08:30 stále přihlášeni inostechni tty1 Čt 7. ledna 08:29 stále přihlášeni při restartu spouštění systému Čt 7. ledna 08:20 stále běžíostechni pts/0 St Jan 6 11:02 - 13:31 ( 02:28)sk bodů/0 St 6. ledna 11:02 - 11:02 (00:00)wtmp začíná Ne 24. května 13:16:52 2020

1.6. Zobrazit záznamy o přihlášení uživatelů v konkrétní čas

-p (nebo --present ) se používá k nalezení toho, kdo byl aktuálně nebo v určený čas přihlášen.

Například spuštěním následujícího příkazu zobrazíte seznam naposledy přihlášených uživatelů dnes v 8:30:

$ last -p 08:30

Ukázkový výstup:

ostechni tty1 Čt 7. ledna 08:29 stále přihlášeni při restartu spouštění systému 5.4.0-53-generic Čt 7. ledna 08:20 stále běžíwtmp začíná Ne 24. května 13:16:52 2020

Chcete-li zobrazit, kdo je aktuálně přihlášen (tj. v době spuštění tohoto příkazu, spusťte:

$ last -p nyní

1.7. Zobrazit přihlášené uživatele v určitém časovém intervalu

last příkaz má dvě možnosti, a to -s (--since ) a -t (--until ) pro zobrazení přihlášených uživatelů v určitém časovém období. -s volba se používá k zobrazení stavu přihlášení od zadaného času a -t volba se používá k zobrazení stavu přihlášení do zadaného času.

Pokud například chcete zobrazit poslední přihlášení, která proběhla od 2021-01-07 do 2021-01-11 , příkaz je:

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

Ukázkový výstup:

ostechni pts/0 192.168.225.37 Čt 7. ledna 08:30 - 13:16 (04:46)ostechni tty1 Čt 7. ledna 08:29 - dolů (04:47) restart systému boot 5.4.0-53-generic Čt 7. ledna 08:20 - 13:16 (04:56)wtmp začíná Ne 24. května 13:16:52 2020

Chcete-li zobrazit poslední přihlášení z včera do dnes , spustit:

$ last -s včera -t today

Pokud chcete vypsat pouze záznamy o přihlášení od 7. ledna 2021 do dnešního data, spusťte:

$ last -s 2021-01-07 ostechni pts/0 192.168.225.37 po 11. leden 06:39 stále přihlášený při restartu spouštění systému 5.4.0-59-generic po 11. led 06:37 stále běžíostechni pts/0 192.168.225.37 čt:3. leden 600 04:46)ostechni tty1 Čt 7. ledna 08:29 - dolů (04:47)reboot systému boot 5.4.0-53-generic Čt 7. ledna 08:20 - 13:16 (04:56)wtmp začíná Ne 24. května 13 :16:52 2020

1.8. Zobrazit poslední přihlášené uživatele s úplným datem a časem

-F (--fulltimes ) se používá k zobrazení celého data a času přihlášení a odhlášení v last výstup příkazu.

$ posledních -5 -F

Ukázkový výstup:

ostechni pts/0 192.168.225.37 Po 11. leden 06:39:29 2021 stále přihlášen[...]

1.9. Zobrazit název hostitele v posledním sloupci

-a (--hostlast ) se používá k zobrazení sloupce názvu hostitele jako posledního, aby se zabránilo zkrácení.

$ last -d -a ostechni pts/0 Po 11. led 06:39 stále přihlášen ostechnix [...]

1.10. Zobrazit poslední přihlašovací záznamy pseudo uživatele "reboot"

Jak jsem již zmínil, poslední příkaz uchovává záznam o speciálních pseudouživatelích s názvem "reboot" a "shutdown".

Chcete-li zobrazit poslední přihlašovací údaje uživatelů „reboot“ a „shutdown“, použijte následující příkazy:

$ poslední restart
Poslední vypnutí $

2. Zobrazit neúspěšné pokusy o přihlášení pomocí lastb v Linuxu

lastb je stejný jako last příkaz, ale uvádí pouze všechny špatné pokusy o přihlášení. Získává neúspěšné přihlašovací údaje z /var/log/btmp soubor.

Upozorňujeme, že váš systém zaznamenává informace pouze do btmp soubor, pokud je přítomen. Pokud tento soubor není z jakéhokoli důvodu k dispozici, jednoduše jej vytvořte pomocí touch příkaz jako níže:

$ sudo touch /var/log/btmp

Nyní můžeme zobrazit neúspěšné pokusy o přihlášení pomocí příkazu lastb, jak je uvedeno níže:

$ sudo lastb

Ukázkový výstup:

NEZNÁMÝ tty1 Po 11. led 07:51 - 07:51 (00:00)sk tty1 Po 11. led 07:51 - 07:51 (00:00) NEZNÁMÝ tty1 Po 11. led 07:51 - 07:51 ( 00:00)sk tty1 Po 11. led 07:51 - 07:51 (00:00)ostechni ssh:notty 192.168.225.37 Po 11. led 07:49 - 07:49 (00:00)ostechni ssh:1683.292 Po 11. led 07:49 - 07:49 (00:00)ostechni ssh:notty 192.168.225.37 Po 11. led 07:49 - 07:49 (00:00)NEZNÁMÝ tty1 St Jan 6 10:59 ( 10:59) 00:00)btmp začíná středa 6. ledna 10:59:57 2021

Výše uvedené příkazy vypisují všechny neúspěšné pokusy o přihlášení všech uživatelů v systému Linux. Zobrazuje také neúspěšné pokusy o přihlášení, ke kterým došlo přes SSH.

3. Najděte naposledy přihlášené uživatele v Linuxu pomocí příkazu lastlog

poslední protokol zobrazuje nejnovější přihlášení všech uživatelů nebo konkrétního uživatele v operačních systémech Linux a Unix. Získává seznam naposledy přihlášených uživatelů z /var/log/lastlog soubor a zobrazí výsledek ve standardním výstupu.

Chcete-li zobrazit nejnovější přihlášení všech uživatelů, spusťte:

$ lastlog

Ukázkový výstup:

Port uživatelského jména z nejnovějšího systému **Nikdy se nepřihlásíš**démon **Nikdy se nepřihlásíš**bin **Nikdy se nepřihlásíš**[...]systemd-coredump **Nikdy se nepřihlásíš**ostechnix tty1 Po Jan 11 07:51:46 +0000 2021lxd **Nikdy se nepřihlásíš**dnsmasq **Nikdy se nepřihlásíš**libvirt-qemu **Nikdy se nepřihlásíš**libvirt-dnsmasq **Nikdy se nepřihlásíš**cockpit-ws **Nikdy se nepřihlásíš v**cockpit-wsinstance **Nikdy se nepřihlásil**libvirtdbus **Nikdy se nepřihlásil**_flatpak **Nikdy se nepřihlásil**sk pts/0 192.168.225.37 St Jan 6 11:02:17 +0000 2021root **Neve r přihlášen**nikdo **Nikdy se nepřihlásil**

Jak vidíte ve výše uvedeném výstupu, lastlog zobrazí poslední přihlašovací záznamy systémových uživatelských účtů a také dalších servisních účtů, jako je bin , daemon , sys , mail , nobody atd.

lastlog vypíše přihlašovací jméno, port, zdrojovou IP adresu, ze které se uživatel přihlásil a datum a čas posledního přihlášení. Pokud se uživatel nikdy nepřihlásil, vytiskne zprávu ** Never logged in** místo portu a času ve výstupu.

Možná se divíte, proč se mnoho servisních účtů nikdy nepřihlásilo. Je to proto, že přihlašovací shelly pro tyto účty jsou nastaveny buď na /sbin/nologin . Je to běžná bezpečnostní praxe používaná k omezení přímého přístupu k shellu.

3.1. Zobrazit podrobnosti o posledním přihlášeném konkrétním uživateli

Pokud chcete zobrazit poslední záznam konkrétního uživatele, například ostechnix , příkaz by byl:

$ lastlog -u ostechnix

Ukázkový výstup:

Port uživatelského jména z Latestostechnix tty1 Po Jan 11 07:51:46 +0000 2021

3.2. Zobrazit poslední přihlášené záznamy před X dnů nebo posledních X dnů

lastlog příkaz dokáže zobrazit záznamy o posledních přihlášeních před nebo po X dnech.

Například pomocí -b můžete získat nedávné záznamy o přihlášení všech uživatelů před více než 5 dny příznak jako níže:

$ lastlog -b 5

Podobně pro zobrazení záznamů o přihlášení novějších než 5 dní použijte -t příznak:

$ lastlog -t 5

3.3. Odstraňte nebo vymažte poslední přihlašovací údaje pomocí lastlog v Linuxu

Pokud nechcete záznam lastlog uživatele, jednoduše je vymažte pomocí -C (--clear ) příznak:

$ sudo lastlog -u ostechnix -C

Chcete-li ověřit, zda je záznam protokolu vymazán, spusťte:

$ lastlog -u ostechnixUsername Port od nejnovějšíostechnix **Nikdy se nepřihlašujete** 

Získání nápovědy

Další podrobnosti naleznete v části nápovědy příslušného příkazu.

$ last --help
$ lastb --help
$ lastlog --help

Nebo si projděte manuálové stránky každého příkazu:

$ muž poslední
$ man lastb
$ man lastlog

Závěr

last , lastb a lastlog Commands přichází na pomoc k detekci podezřelých uživatelských aktivit v systému Linux. Zjištění, kdo je nedávno přihlášen (nebo odhlášen) k serveru Linux, kdy se přihlásil a na jak dlouho, jsou důležité podrobnosti, které vám určitě pomohou při odstraňování problémů.

Související čtení:

  • Jak najít aktuálně přihlášené uživatele v Linuxu
  • Jak vypsat seznam všech uživatelů v systému Linux
  • Jak monitorovat aktivitu uživatele v systému Linux
  • Jak omezit přístup uživatelů k systému Linux

Linux
  1. Jak používat FIND v Linuxu

  2. Jak najít soubor v Linuxu

  3. Jak najít soubory ve formátu DOS v systému souborů linux

  1. Jak změnit název hostitele v systému Linux

  2. Jak najít všechny uživatele Sudo v Linuxu

  3. Jak najít soubory upravené za posledních 30 dní v Linuxu?

  1. Jak najít soubory v Linuxu

  2. Jak najít IP adresu v Kali Linuxu

  3. Jak odeslat zprávu přihlášeným uživatelům v terminálu Linux