Superviseu l'activitat dels usuaris de Linux amb les eines psacct o acct
psacct o acct són utilitats de codi obert per supervisar les activitats dels usuaris al sistema Linux. Aquestes utilitats s'executen en segon pla i fan un seguiment de l'activitat de cada usuari al vostre sistema, així com dels recursos que s'estan consumint.
Jo personalment vaig utilitzar aquestes eines a la nostra empresa, tenim un equip de desenvolupament on els nostres desenvolupadors treballen contínuament en servidors. Per tant, aquestes són les millors utilitats per vigilar-les.
Aquests programes ofereixen una manera excel·lent de controlar què fan els usuaris, quines ordres executen, quants recursos consumeixen i quant de temps estan actius els usuaris al sistema. Una altra característica útil és que ofereix els recursos totals consumits per serveis com Apache, MySQL, FTP, SSH, etc.
[També us pot agradar: Com supervisar les ordres de Linux executades pels usuaris del sistema en temps real]
Crec que aquesta és una de les utilitats excel·lents i més necessàries per a tots els administradors de sistemes Linux/Unix, que volien fer un seguiment de les activitats dels usuaris als seus servidors/sistemes.
El paquet psacct o acct ofereix diverses funcions per supervisar les activitats del procés.
- l'ordre ac imprimeix les estadístiques d'inicis de sessió/ tancaments de sessió dels usuaris (temps de connexió) en hores.
- l'ordre lastcomm imprimeix la informació de les ordres executades prèviament de l'usuari.
- les ordres accton s'utilitzen per activar/desactivar el procés de comptabilitat.
- l'ordre sa resumeix la informació de les ordres executades anteriorment.
- les ordres last i lastb mostren una llista dels últims usuaris que han iniciat sessió.
Instal·lació de paquets psacct o acct a Linux
psacct i acct són paquets similars i no hi ha molta diferència entre ells, però el paquet psacct només està disponible per a distribucions basades en rpm com RHEL, CentOS i Fedora, mentre que el paquet acct està disponible per a distribucions com Ubuntu, Debian, i Linux Mint.
Per instal·lar el paquet psacct sota distribucions basades en rpm, emet la següent comanda yum.
# yum install psacct
Per instal·lar el paquet acct mitjançant l'ordre apt a Ubuntu/Debian/Linux Mint.
$ sudo apt install acct
En altres distribucions de Linux, podeu instal·lar-lo tal com es mostra.
$ sudo apk add psacct [On Alpine Linux] $ sudo pacman -S acct [On Arch Linux] $ sudo zypper install acct [On OpenSUSE]
De manera predeterminada, el servei psacct està en mode desactivat i cal que l'inicieu manualment a les distribucions basades en RHEL. Utilitzeu l'ordre següent per comprovar l'estat del servei.
$ sudo systemctl status psacct
Veu que l'estat es mostra com a desactivat, així que l'iniciem manualment mitjançant les ordres següents, que crearan un fitxer /var/account/pacct.
$ sudo systemctl start psacct $ sudo systemctl enable psacct $ sudo systemctl status psacct
Sota Ubuntu, Debian i Mint, el servei s'inicia automàticament, no cal que el torneu a iniciar.
Mostra les estadístiques del temps de connexió dels usuaris
L'ordre ac sense especificar cap argument mostrarà les estadístiques totals del temps de connexió en hores basades en els inicis de sessió/tancaments de sessió de l'usuari del fitxer wtmp actual.
# ac total 11299.15
Mostra les estadístiques dels usuaris de Linux al dia
L'ús de l'ordre ac -d imprimirà el temps total d'inici de sessió en hores per dia.
# 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
Mostra el temps d'inici de sessió total de tots els usuaris de Linux
L'ús de l'ordre ac -p imprimirà el temps total d'inici de sessió de cada usuari de Linux en hores.
# ac -p rockylinux 425.61 tecmint 702.29 root 10171.54 total 11299.44
Mostra l'hora d'inici de sessió de l'usuari de Linux
Per obtenir el temps total de les estadístiques d'inici de sessió de l'usuari tecmint en hores, utilitzeu l'ordre as.
# ac tecmint
total 702.29
Mostra l'hora d'inici de sessió diària de l'usuari
La següent comanda imprimirà el temps d'inici de sessió total diari de l'usuari tecmint en hores.
# 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
Imprimeix totes les ordres de Linux executades pels usuaris
L'ordre sa s'utilitza per imprimir el resum de les ordres executades pels usuaris.
# 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
Explicació de la sortida de l'ordre anterior:
- 9.86re és un temps real segons els minuts del rellotge de paret
- 0,01 cp és una suma del temps del sistema/usuari en minuts de CPU
- 2466k és un ús mitjà del nucli del temps de la CPU, és a dir, 1k unitats
- Nom de l'ordre sshd
Imprimeix la informació de l'usuari de Linux
Per obtenir la informació d'un usuari individual, utilitzeu les opcions -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
Imprimeix el nombre de processos de Linux
Aquesta ordre imprimeix el nombre total de processos i minuts de CPU. Si observeu un augment continuat d'aquestes xifres, és hora d'estudiar el sistema sobre què està passant.
# sa -m
sshd 2 9.86re 0.00cp 2466k root 127 14.29re 0.00cp 909k
Imprimeix i ordena l'ús per percentatge
L'ordre sa -c mostra el percentatge més alt d'usuaris.
# 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
Llista les darreres ordres executades de l'usuari
L'ordre latcomm s'utilitza per cercar i mostrar informació de l'ordre d'usuari executada prèviament. També podeu cercar ordres de noms d'usuari individuals. Per exemple, veiem ordres de l'usuari (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
Cerqueu els registres d'ordres
Amb l'ajuda de l'ordre lastcomm, podreu veure l'ús individual de cada comanda.
# 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
Per obtenir més informació i ús, consulteu les pàgines del manual d'aquestes eines.