Una delle cose che rendono Linux un sistema operativo affidabile e sicuro è che praticamente tutte le operazioni vengono registrate. Queste informazioni sono estremamente importi per poter identificare eventuali problemi. I logs, se usati correttamente, vi forniranno tutte le informazioni di cui avete bisogno.
Il vostro sistema Linux registra le informazioni in diversi files di log. Questi files di log sono generalmente in formato ASCII standard e vengono generalmente registrati nella directory /var/log. Molti files vengono generati dal programma syslogd, mentre altri vengono venerati direttamente dalle applicazioni.
Questa guida spiega come leggere ed utilizzare alcuni di questi log di sistema, come configurare il programma di gestione del logging, syslogd, e come funziona la rotazione automatica dei log.
Log di sistema
I log di sistema si occupano principalmente di tenere sotto controllo il funzionamento di Linux, non necessariamente delle applicazioni installate dagli utenti. Ad esempio vengono monitorati l’accesso al sistema, i daemons di sistema, i messaggi di sistema, etc.
Log di autorizzazione
Il log di autorizzazione tiene traccia del sistema di autenticazione, dei sistemi che si occupano di gestire e richiede agli utenti le password, comne il modulo PAM, il comando sudo, gli accessi da remoto, etc. Il log di autorizzazione viene salvato in /var/log/auth.log.
Per leggere solo le righe dei logs che ci interessano ` possibile utilizzare il programma grep. Per esempio per controllare solo le righe relative ai logins sshd :
grep sshd /var/log/auth.log | less
Daemon Log
Il daemon ` un programma che gira in automatico in background, svolgendo alcune operazioni che garantiscono il corretto funzionamento del sistema. Il log /var/log/daemon.log contiene informazioni relative ai vari servizi che girano in background, come lo Gnome Display Manager, il servizio Bluetooth hcid, o il servizio MySQL mysqld.
Anche in questo caso è possibile utilizzare grep per trovare le informnazioni che ci interessano.
Debug Log
Il debug log viene salvato in /var/log/debug e fornisce informazioni dettagliate sul sistema Linux e sulle applicazioni che hanno impostato un livello di log DEBUG.
Kernel Log
Il kernel log viene salvato in /var/log/kern.log e fornisce informazioni dettagliate provenienti dal kernel Linux. Questi messaggi possono essere utili per controllare problemi relativi ad un kernel nuovo e compilato dall’utente.
Kernel Ring Buffer
Il kernel ring buffer non è un vero e proprio log ma un’area del kernel che può essere utilizzata per visualizzare i messaggi dei avvio del kernel utilizzando l’utility dmesg. Per visualizzare i messaggi utilizzare :
dmesg | less
Ad esempio per cercare i messaggi relativi al sistema Plug & Play :
dmesg | grep pnp | less
In alternativa è possibile cercare le stesse informazioni nel file /var/log/dmesg.
Message Log
Il messages log viene salvato in /var/log/messages e fornisce informazioni provenienti sia dalle applicazioni che dal sistema operativo. Questo log è utile per controllare i messaggi di log generati dalle applicazioni o dal sistema operativo che hanno impostato un livello di log INFO.
System Log
Il system log viene salvato in /var/log/syslog e fornisce la maggior parte delle informazioni provenienti dal sistema operativo. Controllate questo file se non riuscite a trovare le informazioni desiderate in nessun altro log.
Application Log
Alcune applicazioni generano anche dei logs personalizzati in una subdirectory nella cartella /var/log. Ad esempio /var/log/apache2 contiene i files di log relativi al web server Apache 2.
Log in formato non leggibile ad occhio umano
Alcuni files di log salvati nella cartella /var/log vengono salvati in un formato utilizzabile solo da altre applicazioni e non manualmente. Ad esempio:
Log con errori di login
Eventuali errori di login vengono registrati nel file /var/log/faillog in un formato non leggibile ad occhio umano. Per visualizzare gli errori recenti di login:
faillog
Log con gli ultimi login
Gli ultimi login vengono registrati in /var/log/lastlog. Per leggere il contenuto del file è necessario utilizzare il comando lastlog.