Ascolta ... linux ti parla ...
Il titolo non e' poi cosi' fantasioso. L'argomento trattato sono i files di log, ossia i files
dove il ns amato linux registra gli eventi.
I responsabili di queste registrazioni sono:
1) il demone /etc/rc.d/rc.syslog. Questo demone viene attivato in fase di avvio del sistema
dall'apposito script rc. "livello" . Nel caso abitudinario di una computer desktop il
runlevel e' il 3, quindi il multiutente, quindi lo script e' /etc/rc.d/rc.M . Se
all'interno del files commentiamo la riga che governa il demone rc.syslog ecco che questi
non partira' piu'.
2) il file /etc/syslog.conf (ricordiamo che stiamo trattando slackware, ma lo cose dovrebbero
essere simili nelle altre distro.)
3) i files di log vengono scritti in una posizione standard e cioe' /var/log. Per una qualche
stranezza sulla quale ancora non ho indagato , tali files vengono replicati anche in
/usr/adm (slckware 8.1). Cancellare i files in /usr/adm e' inutile poiche' il sistema
ricomincia a scriverli. Le informazioni del passato vengono perdute, ma non e' grave,
a patto di non cancellare i files da ambedue le locazioni.
Il file /etc/syslog.conf determina la maniera con la quale avvengono le registrazioni degli
eventi. Il files si conpone di due campi separati da spazio e/o tabulazioni. Il primo campo
prende il nome di "selector" , il secondo campo prende il nome di "action". Inoltre il primo
campo "selector" contiene due informazioni separate da un punto. Una riga tipica di
/etc/syslog.conf potrebbe essere la seguente:
## syslog.com
## written by ...
##
## selector action
## ------------------------------------
##
mail.* /var/log/maillog
.........................................
.........................................
.........................................
L'interpretazione e' davvero banale: tutti gli eventi controllati dai demoni della posta
elettronica vengono scritti su /var/log/maillog.
Il campo "action" e' semplice: indica dove scrivere le registrazioni. Concentriamoci ora sul
campo "selector". La prima parte (a sinistra del punto) prende il nome di "facility" ed
indica il tipo di evento che deve essere registrato.
La seconda parte (a destra del punto) indica
il livello di priorita' del messaggio che deve essere registrato. Possiamo infatti registrare
nei ns files di log soltanto i messaggi urgenti, scartando tutti gli altri.
Di seguito alcune tabelle coi valori possibili nei sottocampi "facility" , "priority"
## syslog.conf
##
## selector action
## -------------------------------------------
##
##
##
mail.* /var/log/maillog
| | |
| | |------ file ove avvengono le registrazioni:
| | vedi seguito dell'articolo.
| |
| |
|--------------------- sottocampo "facility", valori possibili:
|
| auth = autenticazione degli utenti
| authpriv = sicurezza del sist e/o autentizazione utenti
| cron = registrazioni del demone cron
| daemon = demoni del sistema
| kern = messaggi del kernel
| lpr = messaggi riguardanti la stampa
| mail = messaggi generati dal sistema di posta elettronica
| news = messaggi genrerati dal server news
| uucp = messaggi sistema di copia unix to unix
| local0
| ..... da local0 a local7 sono a disposizione dei sysadmin
| local7
|
|
|
|
|
|
|
|
------------------ sottocampo "priority", valori possibili:
debug = informazioni sui processi correnti
info = messaggi di informazione
notice = messaggio standard
error = messaggi di errore
crit = problemi gravi
alert = malfuzionanmenti
emerg = stato di amergenza, sistema compromesso
Come gia' detto sopra il campo "action" indica la locazione ove risiederanno i files di log.
In maniera molto intuitiva qualunque lammer cerchera' di alterare i files di log, almeno per
nascondere le tracce del proprio passaggio. Ma noi non siamo del tutto indifesi. Oltre a poter
spostare i vari files dove vogliamo (mediante la configurazione di syslog.cong, che deve
essere leggibile soo da root), possiamo anche dirigere i files su un altro elaboratore !!
Il campo "action" puo' essere configurato come segue:
percorso = indica il percorso dei files
@host = indica il nome del computer ove inviare i files. Vengono accettati
indirizzi ip e valori alfanumerici, ovviamente se e' attivo il
servizio di risoluzione dei nomi di dominio.
utente = possiamo indicare un utente od una sequenza di utenti separati da virgole
a cui mandare i log.
Il demone syslogd solitamente e' fatto partire dalla procedura di boot, ma nulla impedisce
di farlo partire a mano, dopo averlo killato. A questo proposito ricordiamo le opzioni che
possono essere indicate:
-d = con questa opzione syslogd invia i messaggi di debug nell tty corrente
-m = intervallo in minuti con cui syslogd esegue il time stamp nei files. default = 20
-r = indica a syslogd di accettare i log dalla rete
-f = percorso. indica un altro file di configurazione alternativo a syslog.conf
-p = serve per definire un socket diverso da /dev/log
Dopo aver letto queste righe non dovete cullarvi nella convinzione di poter intercettare tutti
i log possibili ed immaginabili con le informazioni appena apprese. Certi programmi per conto
loro ed in maniera AUTONOMA scrivono i log dove vogliono. Per risolvere questo problema
bisogna ricompilare l'eseguibile strutturandolo diveramente.
A titolo di esempio il server http di slackware 8.1 -apache 1.3 se non sbaglio- scrive i suoi
log in /var/log/apache.
Quando ho cancellato la directory il server http ha smesso di funzionare. Quando ho ricrato
l'albero delle directory il server si e' rimesso in moto.
Per maggiori spiegazioni:
appunti informatica libera
apropos syslog
man logger
inter.net febbraio 2001, pag 104
- Login o registrati per inviare commenti

