GNU/Linux >> Znalost Linux >  >> Linux

Jak sledovat aktivitu uživatele v Linuxu

Jako správce Linuxu musíte mít přehled o všech aktivitách uživatelů. Bude užitečné, když se na serveru něco pokazí. Můžete analyzovat a prozkoumat aktivity uživatelů a pokusit se najít hlavní příčinu problému. Existuje mnoho způsobů, jak monitorovat uživatele. V této příručce budeme hovořit o účetních nástrojích GNU které lze použít ke sledování aktivity uživatelů v Linuxu. Účtovací nástroje poskytují užitečné informace o využití systému, jako jsou připojení, spouštěné programy a využití systémových prostředků. Tyto účetní nástroje lze nainstalovat pomocí psacct nebo souhlasit balík. psacct nebo acct jsou totéž. V systémech založených na RPM je k dispozici jako psacct a v systémech založených na DEB je k dispozici jako acct.

Obecně platí, že podrobnosti historie příkazového řádku uživatele budou uloženy v .bash_history soubor v jejich adresáři $HOME. Někteří uživatelé se mohou pokusit upravit, upravit nebo smazat historii. Účetní nástroje však budou moci načíst aktivity uživatelů, i když vymazali historii příkazového řádku zcela. Protože všechny soubory účtování procesů jsou ve vlastnictví uživatele root a normální uživatelé je nemohou upravovat.

Nainstalujte psacct nebo acct

Na RHEL, CentOS, Fedora, Scientific Linux spusťte jako uživatel root následující příkaz pro instalaci psacct:

$ sudo yum nainstalovat psacct

Povolte a spusťte službu psacct pomocí příkazů:

$ sudo systemctl povolit psacct
$ sudo systemctl spustit psacct

V systémech Debian, Ubuntu nebo Linux Mint jej nainstalujte následovně.

$ sudo apt-get install act

Výše uvedený příkaz automaticky nainstaluje acct a spustí jeho službu.

Zda je spuštěn nebo ne, můžete ověřit pomocí příkazu:

$ sudo systemctl status actl
StáhnoutZdarma e-kniha:„Příručka monitorování Nagios“

Sledování aktivity uživatele v systému Linux

Balíček psacct (procesní účtování) obsahuje následující užitečné nástroje pro monitorování aktivit uživatelů a procesů.

  • ac – Zobrazuje statistiky o tom, jak dlouho byli uživatelé přihlášeni.
  • lastcomm - Zobrazuje informace o dříve provedených příkazech.
  • accton – Zapíná nebo vypíná účtování procesů.
  • dump-acct - Transformuje výstupní soubor z formátu accton do formátu čitelného člověkem.
  • dump-utmp - Tiskne soubory utmp ve formátu čitelném pro člověka.
  • sa - Shrnuje informace o dříve provedených příkazech.

Podívejme se na jeden bye s příklady.

ac

ac nástroj zobrazí zprávu o době připojení v hodinách. Může vám sdělit, jak dlouho byl uživatel nebo skupina uživatelů připojena k systému.

$ ac

Tento příkaz zobrazuje celkovou dobu připojení všech uživatelů v hodinách.

celkem       30,62

Tento výsledek můžete seřadit podle dne pomocí -d příznak, jak je znázorněno níže.

$ ac -d

Ukázkový výstup:

24. listopadu celkem 0,81 dubna 12 celkem 0,01 června 20 celkem 9,27 června 30 celkem 0,23 března 11 celkem 5,34 března 16 celkem 0,70 března 21 celkem 9,55 března 23 celkem 1,77 Dnes celkem 3,03

Pomocí -p můžete také zobrazit, jak dlouho byl každý uživatel připojen k systému vlajka.

$ ac -p

Ukázkový výstup:

sk 0,03 root 30,73 celkem 30,76

A také můžete zobrazit celkový čas přihlášení jednotlivého uživatele.

$ ac sk

Ukázkový výstup:

celkem 0,03

Chcete-li zobrazit čas přihlášení jednotlivých uživatelů po dnech, spusťte:

$ ac -d root

Ukázkový výstup:

24. listopadu celkem 0,81 dubna 12 celkem 0,01 června 20 celkem 9,27 června celkem 0,23 března 11 celkem 5,34 března 16 celkem 0,70 března 21 celkem 9,55 března 23 celkem 1,77 Dnes celkem 3,41

Další podrobnosti naleznete na manuálových stránkách.

$ man ac

lastcomm

poslední comm zobrazí seznam dříve provedených příkazů. Jako první budou uvedeny naposledy provedené příkazy.

$ lastcomm

Ukázkový výstup:

sshd SF sshd __ 0,01 sekund Pá 24. března 15:09unix_chkpwd S root __ 0,00 sekund Pá 24. března 15:09unix_chkpwd S root __ 0,00 sekund Pá 24. března 15:05 Systém Sec -cgroups S kořen __ 0,00 sekund Pá 24. března 15:09sshd S kořenový adresář __ 0,06 sekund Pá 24. března 15:09sshd SF sk __ 0,06 sekund Pá 24. března 15:09bash sk 5 bodů/1 0,029 s 1 0,00 sekund Pá 24. března 15:09vi sk bodů/1 0,00 sekund Pá 24. března 15:09 kat sk bodů/1 0,00 sekund Pá 24. března 15:09bash F sk bodů/1 0,00 sekund Pá:1094 console 15. března 0,00 sekund Pá 24. března 15:09grep sk bodů/1 0,00 sekund Pá 24. března 15:09bash F sk bodů/1 0,00 sekund Pá 24. března 15:09

Výše uvedený příkaz zobrazí všechny uživatelské příkazy. Dříve provedené příkazy konkrétním uživatelem můžete zobrazit pomocí příkazu:

$ lastcomm sk

Ukázkový výstup:

sshd SF sk __ 0,06 sekund Pá 24. března 15:09bash sk bodů/1 0,00 sekund Pá 24. března 15:09clear sk bodů/1 0,00 sekund Pá 24. března 15:09vi sk bodů/1 14. března Pá 5:00 09kat sk bodů/1 0,00 sekund Pá 24. března 15:09bash F sk bodů/1 0,00 sekund Pá 24. března 15:09consoletype sk bodů/1 0,00 sekund Pá 24. března 15:09grep sk bodů/10.03. 

Můžete také zobrazit, kolikrát byl konkrétní příkaz proveden.

$ lastcomm vi

Ukázkový výstup:

vi sk pts/1 0,00 s Pá 24. března 15:09vi root pts/1 0,00 s Pá 24. března 15:03

Jak vidíte ve výše uvedeném výstupu, příkaz vi byl dvakrát proveden uživateli root a sk.

Další podrobnosti naleznete na manuálových stránkách.

$ man lastcomm

accton

Tento nástroj vám umožní zapnout nebo vypnout účetnictví.

Chcete-li zapnout účtování procesů, spusťte:

$ accton na

Chcete-li jej vypnout, spusťte:

Sleva $ accton

Další podrobnosti naleznete na manuálových stránkách.

$ man accton

dump-acct a dump-utmp

Dump-acct obslužný program zobrazí výstupní soubor z formátu accton do formátu čitelného člověkem.

$ dump-acct /var/account/pacct

dump-utmp zobrazuje soubory utmp ve formátu čitelném pro člověka.

$ dump-utmp /var/run/utmp

Další podrobnosti naleznete na manuálových stránkách.

$ man dump-acct
$ man dump-utmp

sa

Obslužný program sa shrnuje informace o dříve provedených příkazech.

$ sa

Ukázkový výstup:

318 951.07re 0,01cp 0avio 15299K 4 33,04re 0,01cp 0avio 26352K sshd 7 2,05re 0,00Cp 0avio 25184k sshd* 2 0,01re 0,00cp 0avio 89856K dnf 35 0,00re 0,00Cp 0avio 29767K muži* 29 0,0060. 7377K BASH*12 0,00RE 0,00CP 0AVIO 6259K UNIX_CHKPWD 12 0,00RE 0,00CP 0AVIO 2674K SYSTEMD-COUPS 10 0,00RE 0,00CP 0AVIO 2260K GREP 9 166,31R 0:2* 9 110,33RE 0,00CP 0AVIO 0K KWOWERER/0:0* 9 0,00CE 0,00CP 0AVIO 3830K ID 8 0,00RE 0,00CP 0AVIO 1080K AC 8 0,00RE 0,00CP 0AVIO 26976K LOGGER 8 0,00CE 0AVIO 26976K BASENAME 6 93,90re 0,00cp 0avio 29712k muž 6 0,00re 0,00cp 0avio 1629k čirý 5 119,94re 0,00cp 0avio 0k kworker/0:2H* 5 903,5080rek méněpre>avio 0,00

Chcete-li vytisknout počet procesů a počet minut CPU na uživatele, stačí spustit:

$ sa -m

Ukázkový výstup:

337 961.10RE 0,01CP 0AVIO 15593KROOT 286 857,82RE 0,01CP 0AVIO 16672KSK 45 3,88RE 0,00CP 0AVIO 7992KSSHD 5 0,34RE 0,00CP 0AVIO 20966KY

Další podrobnosti naleznete na manuálových stránkách.

$ man sa

Doporučené čtení:

  • Jak omezit přístup uživatelů k systému Linux

A to je vše. Každý administrátor Linuxu by si měl být vědom účetních nástrojů GNU, aby mohl sledovat všechny uživatele. Tyto nástroje budou užitečné při odstraňování problémů.


Linux
  1. Jak přidat uživatele do skupiny v Linuxu

  2. Jak vytvořit uživatele Linuxu pomocí Ansible

  3. Jak zjistit využití uživatelské paměti v linuxu

  1. Jak změnit uživatelské jméno v Linuxu

  2. Jak omezit uživatelské příkazy v Linuxu

  3. Jak mohu vyhledat uživatelské jméno podle id v linuxu?

  1. Jak monitorovat ethernetovou aktivitu v Linuxu pomocí Arpwatch

  2. Jak vytvořit uživatele Sudo v Rocky Linux 8

  3. 5 užitečných příkladů příkazů pro monitorování aktivity uživatele v systému Linux