Kuidas jälgida kasutaja tegevust psacct- või acct-tööriistade abil
psacct või acct mõlemad on avatud lähtekoodiga rakendus kasutajate tegevuse jälgimiseks süsteemis. Need rakendused töötavad taustal ja jälgivad kõigi teie kasutajate tegevust teie süsteemis ning ka seda, milliseid ressursse kulutatakse.
Ma isiklikult kasutasin seda programmi meie ettevõttes, meil on arendustiim, kus meie arendajad töötavad pidevalt serverites. Niisiis, see on üks parimatest programmidest, millega neil silma peal hoida. See programm pakub suurepärast võimalust jälgida, mida kasutajad teevad, milliseid käske nad käivitavad, kui palju ressursse nad tarbivad, kui kaua kasutajad on süsteemis aktiivsed. Selle programmi veel üks suurepärane omadus on see, et see annab selliste teenuste nagu Apache, MySQL, FTP, SSH jne tarbitud ressursid kokku.
Ma arvan, et see on üks suurepäraseid ja hädavajalikke rakendusi kõigile Linuxi/Unixi süsteemiadministraatoritele, kes soovisid jälgida kasutajate tegevust oma serverites/süsteemides.
Pakett psacct või acct pakub protsesside jälgimiseks mitmeid funktsioone.
- ac käsk prindib kasutaja sisselogimiste/väljalogimiste statistika (ühenduse aeg) tundides.
- käsk lastcomm prindib kasutaja varem täidetud käskude teabe.
- acctoni käske kasutatakse raamatupidamise sisse- ja väljalülitamiseks.
- sa käsk võtab kokku varem täidetud käskude teabe.
- last ja lastb käsud näitavad viimati sisse logitud kasutajate loendit.
Psacct või acct pakettide installimine
Mõlemad psacct või acct on sarnased paketid ja nende vahel pole suurt vahet, kuid psacct pakett on saadaval ainult rpm-põhistele jaotustele nagu RHEL, CentOS ja Fedora, samas kui acct-pakett on saadaval distributsioonidele nagu Ubuntu, Debian ja Linux Mint.
Paketi psacct installimiseks rpm-põhiste jaotuste alla väljastage järgmine käsk yum.
# yum install psacct
Acct-paketi installimiseks käsu apt-get abil Ubuntu/Debian/Linux Mint.
$ sudo apt-get install acct OR # apt-get install acct
Vaikimisi on psacct-teenus keelatud režiimis ja peate selle RHEL/CentOS/Fedora süsteemides käsitsi käivitama. Teenuse oleku kontrollimiseks kasutage järgmist käsku.
# /etc/init.d/psacct status Process accounting is disabled.
Olek kuvatakse keelatuna, seega alustame seda käsitsi, kasutades mõlemat järgmist käsku. Need kaks käsku loovad faili/var/account/pacct ja käivitavad teenused.
# chkconfig psacct on # /etc/init.d/psacct start Starting process accounting: [ OK ]
Pärast teenuse alustamist kontrollige olekut uuesti, saate oleku lubatuks, nagu allpool näidatud.
# /etc/init.d/psacct status Process accounting is enabled.
Ubuntu all käivitatakse Debiani ja Mint teenus automaatselt, te ei pea seda uuesti käivitama.
ac-käsk ilma ühtegi argumenti täpsustamata kuvab ühenduse aja kogustatistika tundides, põhinedes praeguse wtmp-faili kasutaja sisselogimisel/väljalogimisel.
# ac
total 1814.03
Kasutades käsku "ac -d", prinditakse sisse logimise kogu aeg tundides tundide kaupa.
# 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
Kasutades käsku “ac -p”, prinditakse iga kasutaja kogu sisselogimisaeg tundides.
# ac -p
root 1645.18 tecmint 168.96 total 1814.14
Kasutaja “tecmint” kogu sisselogimisstatistika aja tundides saamiseks kasutage käsku as.
# ac tecmint
total 168.96
Järgmine käsk prindib kasutaja “tecmint” päevase sisselogimise koguaja tundides.
# 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
Käsku “sa” kasutatakse kasutajate käskude kokkuvõtte printimiseks.
# 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 on reaalajas seinakellaminutite järgi
- 0,01cp on süsteemi/kasutaja aja summa CPU minutites
- 2466k on protsessori aja keskmine tuumkasutus, st 1k ühikut
- sshd käsu nimi
Üksiku kasutaja teabe saamiseks kasutage suvandeid -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
See käsk prindib protsesside ja protsessori minutite koguarvu. Kui näete nende arvude jätkuvat suurenemist, on aeg uurida toimuva kohta süsteemi.
# sa -m
sshd 2 9.86re 0.00cp 2466k root 127 14.29re 0.00cp 909k
Käsk “sa -c” kuvab kasutajate suurima protsendi.
# 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
Käsku „latcomm” kasutatakse varem täidetud kasutaja käskude teabe otsimiseks ja kuvamiseks. Samuti saate otsida üksikute kasutajanimede käske. Näiteks näeme kasutaja käske (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
Lastcomm-käsu abil saate vaadata iga käsu individuaalset kasutamist.
# 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