Monitora l'attività degli utenti con ACCT o PSACCT

Tra i compiti quotidiani che abbiamo come amministratori o supporto all'area dei sistemi c'è il monitorare e gestire le attività che ciascun utente svolge all'interno dell'infrastruttura organizzativa. È anche utile per raccogliere informazioni sul sistema e sulla rete, per questo puoi visitare il seguente tutorial: Monitorix in Linux.

Ci sono molti strumenti che ci aiutano ad analizzare e tenere traccia di queste attività, ma oggi analizzeremo gli strumenti acctpsacct.

1. Che cosa sono acct e psacct?


Entrambe le utilità sono strumenti open source che ci aiutano ad avere un controllo specifico sulle attività svolte dagli utenti sul computer o sul sistema e uno dei grandi vantaggi è che funzionano in background e quindi le prestazioni della macchina non sono influenzate.

Funzionalità che abbiamo con acct o psacct

  • Monitorare le attività degli utenti.
  • Visualizza i comandi utilizzati.
  • Visualizza un report sulle risorse utilizzate nel sistema.
  • Ci permette di osservare per quanto tempo gli utenti sono stati connessi al sistema.
  • Acct e psacct non consumano risorse della macchina, migliorando le prestazioni.

Come possiamo vedere con questi strumenti abbiamo un grande aiuto per le attività amministrative che dobbiamo svolgere quotidianamente. Possiamo combinare acct o psacct con alcuni parametri che vedremo in seguito.

Per questa analisi utilizzeremo Debian 8, ma indica anche come installare in altri ambienti.

2. Aggiorna pacchetti


Come abbiamo sempre consigliato, è importante prima di eseguire qualsiasi operazione sul sistema aggiornare i pacchetti perché quasi quotidianamente compaiono nuove funzionalità che possono essere molto utili per il nostro lavoro.

Negli ambienti CentOS e RedHat utilizzeremo il seguente comando:

 yum aggiornamento
In Debian, Fedora e altri ambienti possiamo usare il comando:
 apt-get update
Una volta aggiornato il sistema operativo, procediamo con l'installazione dei pacchetti necessari.

3. Scarica e installa i pacchetti acct o psacct


Qualcosa di molto importante che dobbiamo tenere a mente è che l'utility acct è per gli ambienti Fedora, Debian, Mint, ecc. e lo strumento psacct è per gli ambienti CentOS e RedHat. Per procedere con il download e la rispettiva installazione dei suddetti pacchetti, inseriremo il seguente comando:

Negli ambienti CentOS e RedHat:

 yum install psacct
In ambienti Fedora o Debian:
 sudo apt-get install acct o apt-get install acct
Accettiamo il download e speriamo che vengano installati nel sistema.

4. Avvia il servizio acct o psacct


Una volta scaricati e installati i rispettivi pacchetti, si procede all'avvio del servizio, che per impostazione predefinita è disabilitato negli ambienti CentOS e RedHat. Per vedere lo stato dello strumento possiamo utilizzare il seguente comando:

Negli ambienti CentOS e RedHat:

 /etc/init.d/psacct status
Negli ambienti Fedora e Debian:
 /etc/init.d/acct status

Di default è attivo su Debian o Fedora. Per abilitarlo in RedHat e CentOS inseriremo i seguenti comandi:

 chkconfig psacct su /etc/init.d/psacct start
Con questo processo abbiamo abilitato lo strumento acct in Fedora o Debian o lo strumento psacct in CentOS o RedHat.

5. Come utilizzare gli strumenti acct e psacct


Il comportamento degli strumenti è esattamente lo stesso, analizzeremo i parametri che possiamo implementare e vedremo il rispettivo risultato.

corrente alternata
Se usiamo il parametro corrente alternata Senza alcun parametro aggiuntivo, possiamo vedere il tempo totale in ore di accessi e disconnessioni utente in base alle informazioni memorizzate nel file wtmp del sistema.

Possiamo aggiungere alcuni parametri al comando ac per ottenere informazioni più dettagliate.
Possiamo usare la sintassi ac -d per vedere il tempo totale giornaliero.

Se usiamo la sintassi ac -p possiamo vedere le informazioni di ciascun utente in particolare:

Se vogliamo vedere il tempo totale di ore di un particolare utente usiamo la sintassi ac nome utente:

Allo stesso modo possiamo vedere il numero di ore inclusi i giorni di un particolare utente usando la sintassi ac -d nome utente:

SA
Per vedere un riepilogo di tutti i comandi che sono stati eseguiti dagli utenti usiamo il comando sa senza parametri aggiuntivi.

Ogni colonna indica quanto segue (prendiamo la prima riga come esempio):

  • 544: Numero di volte in cui il comando è stato eseguito.
  • 4.16: Tempo reale in minuti.
  • 0.34: E' il totale dei minuti in formato CPU del sistema di ogni utente.
  • 764 k: Quantità di nucleo utilizzata.
  • Nell'ultima colonna vediamo il comando eseguito.

Se vogliamo vedere le informazioni singolarmente possiamo usare la sintassi sa -u:

Se vogliamo vedere il numero del processo con il tempo di utilizzo della CPU useremo la sintassi sa -m:

Questo ci permette di vedere un controllo sui processi che vengono eseguiti poiché se questi valori vengono aumentati è segno che qualcosa non va. Se vogliamo vedere questi valori in formato percentuale, possiamo usare la sintassi sa -c:

LASTCOMM
Per vedere i comandi che un particolare utente ha usato possiamo usare la sintassi nome utente lastcomm:

Se usiamo la sintassi ultimocomm ls Possiamo vedere l'uso di ogni comando:

ACCTON
Con il comando accton possiamo abilitare o disabilitare i processi di un utente.

LASTB
Grazie a questo comando possiamo vedere gli ultimi accessi di un utente indicando data, ora e indirizzo IP.

Come abbiamo visto Queste utilità ci consentono di avere un controllo generale o personalizzato sulle attività che ciascun utente esegue all'interno del sistema. e in questo modo determinare se stanno incorrendo errori o processi che non corrispondono a intraprendere le azioni necessarie e quindi garantire prestazioni e stabilità ottimali dei nostri sistemi, siano essi CentOS, Fedora, Debian o qualsiasi altro e in questo modo rispettare attentamente la nostra amministrazione ruoli.

Un tutorial che potrebbe esserti utile è come eseguire un audit su CentOS 7:

Sistema di controllo CentOS 7

wave wave wave wave wave