Monitorare, estendere e indicizzare i filesystem Linux

Voglio intrappolare le operazioni riportte di seguito su un sistema Linux. È ansible farlo in modo efficiente? Il mio objective finale è quello di fornire audit e un insieme aggiuntivo di metadati del filesystem che sono indicizzati in modo diverso. Se la risposta è "no", apprezzo i puntatori in una direzione utile.

1) open(), and its parameters (where flags is O_CREAT) 2) write(), along with its parameters, *buf, and the struct file for fd, including f_pos 3) the corresponding information in 2 for a memory-mapped write to a file. I realize I'm asking something very difficult here as it requires an incestuous knowledge between the layers. Setting a flag that memory-mapped IO to a given open file has occurred is good enough, similar to how O_DIRECT writes might be handled. (triggering a later re-scan). 4) rename(), unlink() 5) mkdir(), rmdir() 6) truncate(), ftruncate() 

Se ci sono tecnologie concorrenti per intrappolare questi tipi di operazioni, sono molto interessato a coloro che durano il più lungo (il più stabile e il supporto della comunità) e quelli che sono less specifici per i file system (i plugin reiser4 erano eccitanti ma non sembrano politicamente sostenibili).

Anche se la mia list 1-6 sono semplicemente esempi, le idee su ciò che ho dimenticato sono utili. Ma non sto cercando di essere completa, comunicare solo il mio objective progettuale.

Ad esempio, passare questi dati a userpace consentirebbe di tenere un indice di localizzazione / aggiornamento live. Permetterebbe a un database di monitorare un MD5 per each block e per each file. La disponibilità di questi dati potrebbe facilitare lo snapshot.

5 Solutions collect form web for “Monitorare, estendere e indicizzare i filesystem Linux”

Si desidera utilizzare l' incrond . Dalla manpage:

  The inotify cron daemon (incrond) is a daemon which monitors filesystem events and executes commands defined in system and user tables. It's use is generally similar to cron(8). 

Ecco alcuni messaggi correlati:

  • Identificare i file modificati in * nix webserver
  • Qual è un ottimo strumento per raccogliere statistiche sull'utilizzo dei filesystem?

Ritengo che la prima sia una bella soluzione snapshoting se LVM o il prossimo NILFS2 non sono quello che stai cercando. Ovviamente NILFS2 non è testato in maniera ampia, dovrai decidere se prendi il rischio e metterlo su un server di produzione.

Il secondo riferimento è più simile alla revisione della sicurezza, ma punta approssimativamente nella stessa direzione.

Come su SystemTap ? È come Dtrace su Solaris. Alless per le chiamate di sistema sembra essere una bella soluzione. Sembra ben supportto su Fedora.

Date un'occhiata a auditd. Dovrebbe fornire ciò che ti serve.

SeLinux combinato con auditd è un modo per get questi dati utilizzando methods già presenti nel kernel.

Un'altra opzione potrebbe essere quella di utilizzare trucchi LD_PRELOAD se si desidera solo per un'applicazione.

Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.