In qualità di amministratore Linux, devi tenere traccia delle attività di tutti gli utenti. Sarà utile quando qualcosa è andato storto nel server. È possibile analizzare e indagare sulle attività degli utenti e provare a trovare la causa principale del problema. Esistono molti modi per monitorare gli utenti. In questa guida parleremo delle utilità di contabilità GNU che può essere utilizzato per monitorare l'attività dell'utente in Linux. Le utilità di contabilità forniscono informazioni utili sull'utilizzo del sistema, come connessioni, programmi eseguiti e utilizzo delle risorse di sistema. Queste utilità di contabilità possono essere installate utilizzando psacct o accetta pacchetto. psacct o acct sono gli stessi. In basato su RPM, è disponibile come psacct e nei sistemi basati su DEB è disponibile come acct.
In genere, i dettagli della cronologia della riga di comando dell'utente verranno archiviati in .bash_history file nella loro directory $HOME. Alcuni utenti potrebbero provare a modificare, modificare o eliminare la cronologia. Tuttavia, le utilità di contabilità saranno comunque in grado di recuperare le attività degli utenti anche se hanno cancellato la cronologia della riga di comando completamente. Perché tutti i file di contabilità di processo sono di proprietà dell'utente root e gli utenti normali non possono modificarli.
Installa psacct o acct
Su RHEL, CentOS, Fedora, Scientific Linux, esegui il seguente comando come utente root per installare psacct:
$ sudo yum install psacct
Abilita e avvia il servizio psacct utilizzando i comandi:
$ sudo systemctl abilita psacct
$ sudo systemctl start psacct
Su Debian, Ubuntu, Linux Mint, installalo come di seguito.
$ sudo apt-get install acct
Il comando precedente installerà acct e avvierà automaticamente il suo servizio.
Puoi verificare se è stato avviato o meno usando il comando:
$ sudo systemctl stato acctScarica - Ebook gratuito:"Manuale di monitoraggio di Nagios"
Monitoraggio dell'attività dell'utente in Linux
Il pacchetto psacct (Contabilità dei processi) contiene le seguenti utili utilità per monitorare l'utente e le attività dei processi.
- ac - Visualizza le statistiche sulla durata dell'accesso degli utenti.
- ultima comunicazione - Visualizza le informazioni sui comandi eseguiti in precedenza.
- Accton - Attiva o disattiva la contabilità di processo.
- dumping-acct - Trasforma il file di output dal formato accton a un formato leggibile dall'uomo.
- dump-utmp - Stampa i file utmp in formato leggibile dall'uomo.
- sa - Riepiloga le informazioni sui comandi eseguiti in precedenza.
Vediamone uno addio con esempi.
ac
Il ac l'utilità visualizzerà il rapporto del tempo di connessione in ore. Può dirti per quanto tempo un utente o un gruppo di utenti è stato connesso al sistema.
$ ac
Questo comando mostra il tempo di connessione totale di tutti gli utenti in ore.
totale 30,62
Puoi ordinare questo risultato per giorno utilizzando -d flag come mostrato di seguito.
$ ac -d
Risultato di esempio:
Totale 24 novembre 0,81Totale 12 aprile 0,01Totale 20 giugno 9,27Totale 30 giugno 0,23Totale 11 marzo 5,34Totale 16 marzo 0,70Totale 21 marzo 9,55Totale 23 marzo 1,77Totale oggi 3,03
Inoltre, puoi visualizzare per quanto tempo ciascun utente è stato connesso al sistema con -p bandiera.
$ ac -p
Risultato di esempio:
sk 0.03root 30.73totale 30.76
Inoltre, puoi anche visualizzare il tempo di accesso totale del singolo utente.
$ ac sk
Risultato di esempio:
totale 0,03
Per visualizzare l'ora di accesso di un singolo utente in base al giorno, eseguire:
$ ac -d radice
Risultato di esempio:
Totale 24 novembre 0,81Totale 12 aprile 0,01Totale 20 giugno 9,27Totale 30 giugno 0,23Totale 11 marzo 5,34Totale 16 marzo 0,70Totale 21 marzo 9,55Totale 23 marzo 1,77Totale oggi 3,41
Per maggiori dettagli, fare riferimento alle pagine man.
$ uomo ac
ultima comunicazione
L'ultima comunicazione utility visualizza l'elenco dei comandi eseguiti in precedenza. Verranno elencati per primi i comandi eseguiti più di recente.
$ lastcomm
Risultato di esempio:
sshd SF sshd __ 0.01 sec Ven 24 marzo 15:09unix_chkpwd S root __ 0.00 sec Ven Mar 24 15:09unix_chkpwd S root __ 0.00 sec Ven Mar 24 15:09systemd-cgroups S root __ 0.00 sec Ven 24 mar 15:09systemd -cgroups S root __ 0.00 sec ven 24 mar 15:09sshd S root __ 0.06 sec ven 24 mar 15:09sshd SF sk __ 0.06 sec ven 24 mar 15:09bash sk pts/1 0.00 sec ven 24 mar 15:09clear sk pts/ 1 0.00 sec Ven Mar 24 15:09vi sk pts/1 0.00 sec Ven Mar 24 15:09cat sk pts/1 0.00 sec Ven Mar 24 15:09bash F sk pts/1 0.00 sec Ven Mar 24 15:09consoletype sk pts/1 0.00 sec Ven Mar 24 15:09grep sk pts/1 0.00 sec Ven Mar 24 15:09bash F sk pts/1 0.00 sec Ven Mar 24 15:09
Il comando sopra mostra tutti i comandi dell'utente. Puoi visualizzare i comandi eseguiti in precedenza da un particolare utente usando il comando:
$ lastcomm sk
Risultato di esempio:
sshd SF sk __ 0.06 sec ven 24 mar 15:09bash sk pts/1 0.00 sec ven 24 mar 15:09clear sk pts/1 0.00 sec ven 24 mar 15:09vi sk pts/1 0.00 sec ven 24 mar 15:09cat sk pts/1 0.00 sec Ven Mar 24 15:09bash F sk pts/1 0.00 sec Ven Mar 24 15:09consoletype sk pts/1 0.00 sec Ven Mar 24 15:09grep sk pts/1 0.00 sec Ven Mar 24 15:09
Inoltre, puoi vedere quante volte è stato eseguito un particolare comando.
$ lastcomm vi
Risultato di esempio:
vi sk pts/1 0.00 sec ven 24 mar 15:09vi root pts/1 0.00 sec ven 24 mar 15:03
Come puoi vedere nell'output sopra, il comando vi è stato eseguito due volte dagli utenti root e sk.
Per maggiori dettagli, fare riferimento alle pagine man.
$ man lastcomm
Accton
Questa utilità ti consentirà di attivare o disattivare la contabilità.
Per attivare la contabilità di processo, esegui:
$ accton su
Per disattivarlo, esegui:
Sconto $ accton
Per maggiori dettagli, fare riferimento alle pagine man.
$ man accton
dump-acct e dump-utmp
Il discarica l'utilità mostra il file di output dal formato accton a un formato leggibile dall'uomo.
$ dump-acct /var/account/pacct
dump-utmp mostra i file utmp in un formato leggibile dall'uomo.
$ dump-utmp /var/run/utmp
Per maggiori dettagli, fare riferimento alle pagine man.
$ man dump-acct
$ man dump-utmp
sa
L'utilità sa riassumerà le informazioni sui comandi eseguiti in precedenza.
$ sa
Risultato di esempio:
318 951.07re 0.01CP 0VIO 15299K 4 33.04re 0.01CP 0AVIO 26352K SSHD 7 2.05re 0.00CP 0avio 25184k SSHD* 29. 0.00RE 0.00CP 0AVIO 89856K DNF 35 0.00RE 0.00CP 0AVIO 297K MAN* 29. 7377k bash * 12 0.00re 0.00cp 0avio 6259k unix_chkpwd 12 0.00re 0.00cp 0avio 2674k systemd-cgroups 10 0.00re 0.00cp 0avio 2260k grep 9 166.31re 0.00cp 0avio 25375k *** altri * 9 110.33re 0.00cp 0avio 0k kworker / 0:2* 9 110.33re 0.00cp 0avio 0k kworker/0:0* 9 0.00re 0.00cp 0avio 3830k id 8 0.00re 0.00cp 0avio 1080k ac 8 0.00re 0.00cp 0avio 26976k logger 8 0.07crek logger 8 06 907crenok logger 8 06 90.00cre 93.90re 0.00cp 0avio 29712k man 6 0.00re 0.00cp 0avio 1629k clear 5 119.94re 0.00cp 0avio 0k kworker/0:2H* 5 93.90re 0.00cp 0avio 27568k meno
Per stampare il numero di processi e il numero di minuti CPU per utente, esegui semplicemente:
$ sa -m
Risultato di esempio:
337 961.10re 0.01CP 0VIO 15593kroot 286 857.82re 0.01CP 0AVIO 16672ksk 45 3.88re 0.00CP 0avio 7992KSHD 5 0.34re 0.00CP 0Avio 20966KPOSTFIX 1 99.06re 0,00CP 0AVIO 222K Per maggiori dettagli, fare riferimento alle pagine man.$ man saLettura consigliata:
- Come limitare l'accesso degli utenti al sistema Linux
E questo è tutto. Ogni amministratore Linux dovrebbe essere a conoscenza delle utilità di contabilità GNU per tenere d'occhio tutti gli utenti. Queste utilità saranno utili per la risoluzione dei problemi.