TAGS CLOUD
Incrementa dimensioniDecrementa dimensioni
La "vita'' dei file in un sistema GNU/Linux
Il file system è soggetto a mutamenti continui e in costante evoluzione ma il kernel sa sempre cosa accade e agisce di conseguenza. Scopri come
(pagina 8 di 10)


Eventi particolari
Non classificabili nelle altre categorie
NOME EFFETTOIN_ONLYDIR Il monitoraggio avviene solo se il path èuna directoryIN_DONT_FOLLOWMonitoraggio del link simbolico e non del file o della directory a cui il link puntaIN_MASK_ADD Aggiunta di altre condizioni al monitoraggio in essereIN_ISDIR Evento che interessa una directoryIN_ISONESHOT Rimuove il monitoraggio dopo il primo eventoL’applicazione Logsend Per questa applicazione non esiste il corrispondente pacchetto precompilato, quindi, anche gli utenti Debian GNU/Linux devono installare il programma tramite compilazione del codice sorgente. Occorre scaricare il file compresso da http://logsend. sourceforge.net/download.shtml e seguire le istruzioni dettagliate riportate in http://logsend.sourceforge.net/README.shtml. Bisogna solo dedicare particolare attenzione ai requisiti necessari. Nel sistema devono essere disponibili: l’interprete Bash; il pacchetto Dialog, un MTA (Message Trasport Agent) come Postfix, Qmail, Sendmail o Exim e il programma Mailx per l’invio delle e-mail,il comando awk e ancora il pacchetto inotify-tools trattato in precedenza. In breve, supponendo di aver scaricato il package sotto /tmp e utilizzando l’utente root per installarlo bisogna eseguire i comandi seguenti:cd /usr/localtar -xvzf /tmp/logsend-1.0.tar.gzcd logsend-1.0make installOgni utente può quindi configurare logsend per monitorare adeguatamente i file che desidera tramite il comando logsend config, il quale attiva una pratica interfaccia a console. Tramite la configurazione di base si possono impostare i file da monitorare, le stringhe da cercare e l’indirizzo e-mail a cui spedire gli allarmi.

Come backend per logsend scegliamo inotify

Inotify e la notifica degli avvisi tramite e-mail Supponiamo di voler essere avvertiti, tramite e-mail, di ogni accesso come utente root alla nostra macchina costantemente esposta su Internet. Di norma ogni qual volta si verifica questo evento nel file /var/log/auth.log viene scritta una riga del tipo:May 12 18:26:51 machine-name login[11611]: ROOT LOGIN on ‘ttyX’Nella configurazione di base oltre all’indirizzo e-mail a cui vorremmo essere avvertiti inseriremo il file “/var/log/auth.log” come file da monitorare e la stringa “ROOT.LOGIN” come stringa da cercare. Da notare il punto che simboleggia lo spazio bianco: quest’ultimo carattere è vietato in quanto il programma si avvale della nota utility grep, occorre quindi inserire tanti punti quanti sono gli spazi nella stringa in questione. Terminata la configurazione bisogna avviare il programma logsend in modalità batch per iniziare l’attività di monitoraggio. La sintassi del comando è logsend start. Gli accessi come utente root avvengono anche tramite il comando su (switch user); vanno quindi intercettati anche questi eventi che a loro volta lasciano questo tipo di traccia sul file /var/log/auth.log:May 7 19:11:43 machine-name su[10242]:Successfulsu for root by some_userA questo punto, bisogna riavviare la configurazione di logsend e cambiare la stringa di ricerca in questo modo: ROOT. LOGIN\Successful.su.for.root.by. Da notare come l’operatore OR è implementato tramite i due caratteri \. Infine, non resta che riavviare logsend con logsend restart per cominciare a utilizzare la nuova configurazione. Per gli amanti della riga comando va detto che è possibile configurare manualmente logsend senza utilizzare l’interfaccia testuale. Nel file README dell’applicazione è, infatti, illustrata la struttura dei file creati sotto la directory $HOME/.logsend. Udev: un caso reale di utilizzo del nuovo sistema di notifica Per ultimo citiamo un importante fruitore dei servizi di inotify e cioè il sistema per la gestione dell’hardware udev. Questa piattaforma rappresenta, praticamente, la nuova infrastruttura, corredata da una serie di utility, che “gira” in user space e gestisce in modo dinamico il popolamento della directory /dev affinché solo le interfacce (i file) dei dispositivi realmente collegati al sistema siano presenti al suo interno. Ebbene, udevd, il processo demone (il servizio) di udev, eseguito al boot della macchina attraverso lo script /etc/init.d/udev, carica in memoria tutte le regole leggendo i file /etc/udev/rules.d/*.rules. In caso di successiva modifica delle regole, il kernel utilizza proprio inotify per comunicare i cambiamenti a udevd e provvede quindi all’aggiornamento delle proprie regole. A questo punto è chiaro come siano particolarmente importanti in questo caso alcune caratteristiche di inotify. Ad esempio, la comunicazione tramite file descriptor che permette di gestire in tempo reale gli eventi.Link utiliRisorse su Internet per approfondirehttp://inotify.aiken.cz/?section=inotify-cxx&page=about=enhttp://search.cpan.org/~mlehmann/Linux-Inotify2-1.1/Inotify2.pmhttp://pyinotify.sourceforge.nethttp://jnotify.sourceforge.nethttp://tab.snarc.org/projects/ocaml_inotifyhttp://inotify-tools.sourceforge.nethttp://inotify.aiken.cz/?section=incron&page=about=enhttp://distanz.ch/inotailhttp://logsend.sourceforge.nethttp://iwatch.sourceforge.nethttp://mswatch.sourceforge.net
Lascia un commento
Tag: file system, linux, kernel, udev, sistema di notifica, inotify, applicazione logsend, utility incron
Condividi