Pratite aktivnost korisnika Linuxa pomoću alata psacct ili acct


psacct ili acct oba su uslužni programi otvorenog koda za praćenje aktivnosti korisnika na sustavu Linux. Ovi uslužni programi rade u pozadini i prate aktivnost svakog korisnika na vašem sustavu kao i koji se resursi troše.

Osobno sam koristio ove alate u našoj tvrtki, imamo razvojni tim gdje naši programeri kontinuirano rade na serverima. Dakle, ovo su najbolji alati da ih držite na oku.

Ovi programi pružaju odličan način za praćenje onoga što korisnici rade, koje naredbe izvršavaju, koliko resursa troše i koliko dugo su korisnici aktivni na sustavu. Još jedna korisna značajka je da daje ukupne resurse koje troše usluge kao što su Apache, MySQL, FTP, SSH itd.

Mislim da je ovo jedan od sjajnih i najpotrebnijih uslužnih programa za svakog administratora Linux/Unix sustava, koji želi pratiti aktivnosti korisnika na svojim poslužiteljima/sustavima.

Paket psacct ili acct pruža nekoliko značajki za praćenje aktivnosti procesa.

  • Naredba ac ispisuje statistiku prijava/odjava korisnika (vrijeme povezivanja) u satima.
  • Naredba lastcomm ispisuje informacije o prethodno izvršenim naredbama korisnika.
  • Naredba accton koristi se za uključivanje/isključivanje procesa za računovodstvo.
  • Naredba sa sažima informacije o prethodno izvedenim naredbama.
  • Naredbe last i lastb prikazuju popis zadnjih prijavljenih korisnika.

Instaliranje psacct ili acct paketa u Linuxu

psacct i acct slični su paketi i nema velike razlike između njih, ali paket psacct dostupan je samo za distribucije koje se temelje na rpm-u kao što su kao RHEL, CentOS, i Fedora, dok je paket acct dostupan za distribucije kao što je Ubuntu<, Debian, i Linux Mint.

Za instalaciju paketa psacct pod distribucijama koje se temelje na rpm izdajte sljedeću naredbu yum.

yum install psacct

Za instalaciju paketa acct pomoću naredbe apt pod Ubuntu/Debian/Linux Mint.

sudo apt install acct

Na drugim distribucijama Linuxa možete ga instalirati kao što je prikazano.

sudo apk add psacct          [On Alpine Linux]
sudo pacman -S acct          [On Arch Linux]
sudo zypper install acct     [On OpenSUSE]    
Pokretanje usluge psacct ili acct

Prema zadanim postavkama, usluga psacct je u onemogućenom načinu rada i morate je pokrenuti ručno u distribucijama temeljenim na RHEL-u. Koristite sljedeću naredbu za provjeru statusa usluge.

sudo systemctl status psacct

Vidite da se status prikazuje kao onemogućen, pa ga pokrenimo ručno pomoću sljedećih naredbi, koje će stvoriti datoteku /var/account/pacct.

sudo systemctl start psacct
sudo systemctl enable psacct
sudo systemctl status psacct

Pod Ubuntu, Debianom i Mint usluga se pokreće automatski, ne morate je ponovo pokretati.

Prikaz statistike vremena povezivanja korisnika

Naredba ac bez navođenja bilo kojeg argumenta prikazat će ukupnu statistiku vremena povezivanja u satima na temelju korisničkih prijava/odjava iz trenutne wtmp datoteke.

ac

total     11299.15

Prikaz statistike korisnika Linuxa po danu

Korištenje naredbe “ac -d” će ispisati ukupno vrijeme prijave u satima po danu.

ac -d

Jun 25	total        0.19
Oct 13	total       14.45
Oct 27	total      672.00
Oct 28	total       15.82
Nov  3	total        4.29
Nov  5	total       10.13
Dec  7	total       14.04
Dec 10	total       23.60
Dec 27	total      808.93
Jan  3	total       12.31
Mar  3	total     1438.67
Jul 22	total     6767.81
Today	total     1517.09

Prikaz ukupnog vremena prijave svih korisnika Linuxa

Korištenje naredbe “ac -p” ispisat će ukupno vrijeme prijave svakog korisnika Linuxa u satima.

ac -p

	rockylinux                         425.61
	tecmint                            702.29
	root                             10171.54
	total    11299.44

Prikaz vremena prijave korisnika Linuxa

Za dobivanje ukupne statistike vremena prijave korisnika “tecmint” u satima, koristite naredbu as.

ac tecmint
 total      702.29

Prikaz vremena prijave korisnika po danu

Sljedeća naredba će ispisati ukupno vrijeme prijave korisnika “tecmint” u satima po danu.

ac -d tecmint
Oct 11  total        8.01
Oct 12  total       24.00
Oct 15  total       70.50
Oct 16  total       23.57
Oct 17  total       24.00
Oct 18  total       18.70
Nov 20  total        0.18

Ispiši sve Linux naredbe koje su izvršili korisnici

Naredba “sa” koristi se za ispis sažetka naredbi koje su izvršili korisnici.

sa
       2       9.86re       0.00cp     2466k   sshd*
       8       1.05re       0.00cp     1064k   man
       2      10.08re       0.00cp     2562k   sshd
      12       0.00re       0.00cp     1298k   psacct
       2       0.00re       0.00cp     1575k   troff
      14       0.00re       0.00cp      503k   ac
      10       0.00re       0.00cp     1264k   psacct*
      10       0.00re       0.00cp      466k   consoletype
       9       0.00re       0.00cp      509k   sa
       8       0.02re       0.00cp      769k   udisks-helper-a
       6       0.00re       0.00cp     1057k   touch
       6       0.00re       0.00cp      592k   gzip
       6       0.00re       0.00cp      465k   accton
       4       1.05re       0.00cp     1264k   sh*
       4       0.00re       0.00cp     1264k   nroff*
       2       1.05re       0.00cp     1264k   sh
       2       1.05re       0.00cp     1120k   less
       2       0.00re       0.00cp     1346k   groff
       2       0.00re       0.00cp     1383k   grotty
       2       0.00re       0.00cp     1053k   mktemp
       2       0.00re       0.00cp     1030k   iconv
       2       0.00re       0.00cp     1023k   rm
       2       0.00re       0.00cp     1020k   cat
       2       0.00re       0.00cp     1018k   locale
       2       0.00re       0.00cp      802k   gtbl

Objašnjenje izlaza gornje naredbe:

  • 9.86re je “stvarno vrijeme” prema minutama zidnog sata
  • 0.01cp je zbroj sistemskog/korisničkog vremena u CPU minutama
  • 2466k je prosječna upotreba jezgre procesora, tj. 1k jedinica
  • Naziv naredbe sshd

Ispis korisničkih informacija za Linux

Za dobivanje podataka o pojedinom korisniku koristite opcije -u.

sa -u
root       0.00 cpu      465k mem accton
root       0.00 cpu     1057k mem touch
root       0.00 cpu     1298k mem psacct
root       0.00 cpu      466k mem consoletype
root       0.00 cpu     1264k mem psacct           *
root       0.00 cpu     1298k mem psacct
root       0.00 cpu      466k mem consoletype
root       0.00 cpu     1264k mem psacct           *
root       0.00 cpu     1298k mem psacct
root       0.00 cpu      466k mem consoletype
root       0.00 cpu     1264k mem psacct           *
root       0.00 cpu      465k mem accton
root       0.00 cpu     1057k mem touch

Ispiši broj Linux procesa

Ova naredba ispisuje ukupan broj procesa i CPU minuta. Ako vidite kontinuirano povećanje ovih brojeva, onda je vrijeme da provjerite što se događa u sustavu.

sa -m
sshd                                    2       9.86re       0.00cp     2466k
root                                  127      14.29re       0.00cp      909k

Ispis i sortiranje upotrebe prema postotku

Naredba “sa -c” prikazuje najveći postotak korisnika.

sa -c
 132  100.00%      24.16re  100.00%       0.01cp  100.00%      923k
       2    1.52%       9.86re   40.83%       0.00cp   53.33%     2466k   sshd*
       8    6.06%       1.05re    4.34%       0.00cp   20.00%     1064k   man
       2    1.52%      10.08re   41.73%       0.00cp   13.33%     2562k   sshd
      12    9.09%       0.00re    0.01%       0.00cp    6.67%     1298k   psacct
       2    1.52%       0.00re    0.00%       0.00cp    6.67%     1575k   troff
      18   13.64%       0.00re    0.00%       0.00cp    0.00%      509k   sa
      14   10.61%       0.00re    0.00%       0.00cp    0.00%      503k   ac
      10    7.58%       0.00re    0.00%       0.00cp    0.00%     1264k   psacct*
      10    7.58%       0.00re    0.00%       0.00cp    0.00%      466k   consoletype
       8    6.06%       0.02re    0.07%       0.00cp    0.00%      769k   udisks-helper-a
       6    4.55%       0.00re    0.00%       0.00cp    0.00%     1057k   touch
       6    4.55%       0.00re    0.00%       0.00cp    0.00%      592k   gzip
       6    4.55%       0.00re    0.00%       0.00cp    0.00%      465k   accton
       4    3.03%       1.05re    4.34%       0.00cp    0.00%     1264k   sh*
       4    3.03%       0.00re    0.00%       0.00cp    0.00%     1264k   nroff*
       2    1.52%       1.05re    4.34%       0.00cp    0.00%     1264k   sh
       2    1.52%       1.05re    4.34%       0.00cp    0.00%     1120k   less
       2    1.52%       0.00re    0.00%       0.00cp    0.00%     1346k   groff
       2    1.52%       0.00re    0.00%       0.00cp    0.00%     1383k   grotty
       2    1.52%       0.00re    0.00%       0.00cp    0.00%     1053k   mktemp

Popis zadnjih izvršenih naredbi korisnika

Naredba ‘latcomm’ koristi se za pretraživanje i prikaz informacija o prethodno izvršenim korisničkim naredbama. Također možete pretraživati naredbe pojedinačnih korisničkih imena. Na primjer, vidimo naredbe korisnika (tecmint).

lastcomm tecmint
su                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
ls                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
ls                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
ls                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
bash               F    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
id                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
grep                    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
grep                    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
bash               F    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
dircolors               tecmint  pts/0      0.00 secs Wed Feb 13 15:56
bash               F    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
tput                    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
tty                     tecmint  pts/0      0.00 secs Wed Feb 13 15:56
bash               F    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
id                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
bash               F    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
id                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56

Pretraži zapisnike za naredbe

Uz pomoć naredbe lastcomm moći ćete vidjeti pojedinačnu upotrebu svake naredbe.

lastcomm ls
ls                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
ls                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
ls                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56

Za više informacija i korištenje, provjerite stranice priručnika za ove alate.