Kako nadzirati aktivnost korisnika pomoću alata psacct ili acct
psacct ili acct su aplikacija otvorenog koda za praćenje aktivnosti korisnika na sustavu. Te se aplikacije rade u pozadini i prate svaku aktivnost korisnika na vašem sustavu, kao i resurse koji se troše.
Osobno sam koristio ovaj program u našoj tvrtki, imamo razvojni tim u kojem naši programeri kontinuirano rade na poslužiteljima. Dakle, ovo je jedan od najboljih programa koji ih ima na oku. Ovaj program pruža izvrstan način za praćenje onoga što korisnici rade, koje naredbe izvršavaju, koliko resursa troše, koliko su korisnici aktivni u sustavu. Još jedna sjajna značajka ovog programa je da daje ukupne resurse koje troše usluge poput Apachea, MySQL-a, FTP-a, SSH-a itd.
Mislim da je ovo jedna od sjajnih i neophodnih aplikacija za sve administratore sustava Linux/Unix, koji su željeli pratiti aktivnosti korisnika na svojim poslužiteljima/sustavima.
Paket psacct ili acct nudi nekoliko značajki za praćenje aktivnosti procesa.
- Naredba ac ispisuje statistiku korisničkih prijava/odjava (vrijeme povezivanja) u satima.
- lastcomm naredba ispisuje informacije o prethodno izvršenim naredbama korisnika.
- naredbe accton koriste se za uključivanje/isključivanje postupka računovodstva.
- sa naredba sažima informacije o prethodno izvršenim naredbama.
- naredbe last i lastb prikazuju popis posljednjih prijavljenih korisnika.
Instaliranje psacct ili acct paketa
psacct ili acct su slični paketi i nema velike razlike između njih, ali paket psacct dostupan je samo za distribucije temeljene na rpm-u, kao što su RHEL, CentOS i Fedora, dok je paket acct dostupan za distribucije poput Ubuntu, Debian i Linux Mint.
Da biste instalirali paket psacct u distribucijama temeljenim na rpm-u, izdajte sljedeću yum naredbu.
# yum install psacct
Da biste instalirali paket acct pomoću naredbe apt-get pod Ubuntu/Debian/Linux Mint.
$ sudo apt-get install acct OR # apt-get install acct
Prema zadanim postavkama usluga psacct je u onemogućenom načinu rada i morate je pokrenuti ručno pod RHEL/CentOS/Fedora sustavima. Upotrijebite sljedeću naredbu za provjeru statusa usluge.
# /etc/init.d/psacct status Process accounting is disabled.
Vidite da se status prikazuje onemogućen, pa pokrenimo ga ručno pomoću sljedeće dvije naredbe. Ove dvije naredbe stvorit će datoteku/var/account/pacct i pokrenuti usluge.
# chkconfig psacct on # /etc/init.d/psacct start Starting process accounting: [ OK ]
Nakon pokretanja usluge, ponovno provjerite status, dobit ćete status omogućen kao što je prikazano u nastavku.
# /etc/init.d/psacct status Process accounting is enabled.
Pod Ubuntuom, usluga Debian i Mint pokreće se automatski, ne trebate je ponovno pokretati.
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 1814.03
Korištenjem naredbe "ac -d" dnevno će se ispisati ukupno vrijeme prijave u satima.
# ac -d
Sep 17 total 5.23 Sep 18 total 15.20 Sep 24 total 3.21 Sep 25 total 2.27 Sep 26 total 2.64 Sep 27 total 6.19 Oct 1 total 6.41 Oct 3 total 2.42 Oct 4 total 2.52 Oct 5 total 6.11 Oct 8 total 12.98 Oct 9 total 22.65 Oct 11 total 16.18
Korištenjem naredbe "ac -p" ispisat će se ukupno vrijeme prijave svakog korisnika u satima.
# ac -p
root 1645.18 tecmint 168.96 total 1814.14
Da biste dobili ukupno vrijeme statistike statistike prijave korisnika "tecmint" u satima, upotrijebite naredbu kao.
# ac tecmint
total 168.96
Sljedeća naredba ispisuje ukupno dnevno vrijeme prijave korisnika "tecmint" u satima.
# 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
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
- 9,86re "stvarno je vrijeme" prema minutama zidnog sata
- 0,01 cp zbroj je vremena sustava/korisnika u CPU minutama
- 2466k je prosječna potrošnja jezgre po CPU-u, tj. 1k jedinica
- naziv naredbe sshd
Da biste dobili podatke o pojedinačnom korisniku, upotrijebite 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
Ova naredba ispisuje ukupan broj procesa i CPU minuta. Ako vidite kako se broj ovih ljudi i dalje povećava, vrijeme je da istražite sustav o tome što se događa.
# sa -m
sshd 2 9.86re 0.00cp 2466k root 127 14.29re 0.00cp 909k
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
Naredba 'latcomm' koristi se za pretraživanje i prikaz prethodno izvršenih podataka o 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
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