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 acct sì psacct.
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 aggiornamentoIn Debian, Fedora e altri ambienti possiamo usare il comando:
apt-get updateUna 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 psacctIn ambienti Fedora o Debian:
sudo apt-get install acct o apt-get install acctAccettiamo 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 statusNegli 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 startCon 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