Comment logger les écritures sur une partition

Comment logger les écritures sur une partition - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 21-06-2007 à 17:21:43    

Salut,
 
Dans le cadre d'un système particulier que je souhaiterais tester, je voudrais pouvoir logger les écritures et modifications de fichier sur un disque.  
 
Le but est de pouvoir vérifier un fichier sitôt celui-ci écrit.
 
 
Mes approches ont été de checker au niveau VM ( /proc/sys/vm/block_dump ), au niveau FS ( ReiserFS ) et au pire au niveau NFS ( moins flexible à l'usage ). Actuellement je n'ai pas de solution efficace dans le sens ou je n'ai que des informations partielles, notamment le log verbeux de block_dump me donne le nom du fichier et l'inode mais pas son emplacement. A coup de find -inum ça le fait pas trop du coup sur une grosse masse de petits fichiers.
 
Si quelqu'un a une expérience dans le debug/log de file system pour suivre les écritures de fichiers ça m'intéresse grandement.
 
Eventuellement si y'a moyen de cacher la correspondance inode -> file je suis preneur également, parce que find c'est pas trop dans ses compétences.
 

Reply

Marsh Posté le 21-06-2007 à 17:21:43   

Reply

Marsh Posté le 21-06-2007 à 17:28:05    

Regardes du côté de inotify, ptet que ça pourrait t'aider dans ce que tu cherches à faire :)
 
http://inotify-tools.sourceforge.net/
 
http://en.wikipedia.org/wiki/Inotify


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
Reply

Marsh Posté le 21-06-2007 à 17:30:03    

Regardes du côté d'un outil appelé "dnotify" aussi.


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
Reply

Marsh Posté le 21-06-2007 à 17:38:43    

Sinon, t'as la "vieille" mais éprouvée alternative Fam/Gamin (oui, je sais :D), dont tu pourrais t'inspirer.


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
Reply

Marsh Posté le 21-06-2007 à 17:39:12    

oui inotify remplace dnotify, le problème c'est que c'est pour grosso modo 100 000 fichiers, inotify étant sur un fichier défini si je ne dis pas de bétise, ça risque d'être un peu tendu.
 
Pour dnotify je vais regarder si le fonctionnement est différent :jap:

Reply

Marsh Posté le 21-06-2007 à 17:44:17    

pas trop en fait, et je crois que c'est plutot pour surveiller des directories.
 
inotify, c'est le nom du framework. Après, y'a des outils qui utilisent ce framework/API pour faire diverses choses, comme les inotify-tools.
 
Reste qu'un truc comme Beagle utilise, en partie, inotify, donc ça doit pouvoir être possible de faire ce que tu veux avec inotify en écrivant l'outil dont tu as besoin s'il n'existe pas  :o => man 7 inotify :D


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
Reply

Marsh Posté le 21-06-2007 à 17:45:26    

Ha bah tiens, tiré du man  :o  :
 

Citation :

The inotify API provides a mechanism for monitoring file system events.  Inotify can be used
       to monitor individual files, or to monitor directories.  When a directory is monitored, ino-
       tify will return events for the directory itself, and for files inside the directory
.

Message cité 1 fois
Message édité par Zzozo le 21-06-2007 à 17:53:42

---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
Reply

Marsh Posté le 21-06-2007 à 17:47:28    

apparement on peut faire ce que tu recherches avec inotify:
http://www-128.ibm.com/developerwo [...] otify.html

Reply

Marsh Posté le 21-06-2007 à 17:49:17    

Zzozo a écrit :

Ha bah tiens, tiré du man  :o  :
 

Citation :

The inotify API provides a mechanism for monitoring file system events.  Inotify can be used
       to monitor individual files, or to monitor directories.  [b]When a directory is monitored, ino-
       tify will return events for the directory itself, and for files inside the directory[/b].



 
Même si c'est un sous répertoire dans un sous répertoire donc ? ( comprendre que c'est pas juste le check du last changed du répertoire parce qu'on a modifié son contenu )

Reply

Marsh Posté le 21-06-2007 à 17:52:50    

Sinon, un peu plus "brute", y'a les les kernel probes  [:joce]
 
http://sourceware.org/systemtap/
 
Exemples de "scriptlet" qui pourraient t'intéresser :
 
http://sourceware.org/systemtap/wi [...] ries%29%29
 
et
 
http://sourceware.org/systemtap/wiki/WSFileMonitor2
 
[:anathema]


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
Reply

Marsh Posté le 21-06-2007 à 17:52:50   

Reply

Marsh Posté le 21-06-2007 à 17:54:36    

Sly Angel a écrit :

Même si c'est un sous répertoire dans un sous répertoire donc ? ( comprendre que c'est pas juste le check du last changed du répertoire parce qu'on a modifié son contenu )


mmm   bonne question   :o
 
Le mieux, c'est d'essayer  :D
 
Le temps d'emerger les inotify-tools, et je pourrais te dire ça  [:tinostar]


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
Reply

Marsh Posté le 21-06-2007 à 18:08:09    

Bon bah je me suis amusé avec une commande du style inotifywait -e modify -r -m /simu/ pour surveiller les modifs de fichier, ça a marché, après avoir modifié un paramètre, vu que /simu/ contient 283239 fichiers et 14661 sous dossiers [:anathema] [:tinostar]
 
J'ai du faire un echo 16000 > /proc/sys/fs/inotify/max_user_watches pour qu'il puisse établir ses "points de surveillance"  :o
 
Attention, qd tu le lances, ça prend un petit peu de temps (enfin, c'est relatif :o ) à initialiser si y'a bcp de choses à surveiller mais après c'est bon  :)

Message cité 1 fois
Message édité par Zzozo le 21-06-2007 à 18:13:12

---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
Reply

Marsh Posté le 21-06-2007 à 18:55:53    

avec grsec je crois que c'est faisable :)


---------------
:: Light is Right ::
Reply

Marsh Posté le 22-06-2007 à 00:11:25    

Zzozo a écrit :

Bon bah je me suis amusé avec une commande du style inotifywait -e modify -r -m /simu/ pour surveiller les modifs de fichier, ça a marché, après avoir modifié un paramètre, vu que /simu/ contient 283239 fichiers et 14661 sous dossiers [:anathema] [:tinostar]
 
J'ai du faire un echo 16000 > /proc/sys/fs/inotify/max_user_watches pour qu'il puisse établir ses "points de surveillance"  :o
 
Attention, qd tu le lances, ça prend un petit peu de temps (enfin, c'est relatif :o ) à initialiser si y'a bcp de choses à surveiller mais après c'est bon  :)


 
Oui je suis sur le même test, ça prend son temps ( un échantillon de 52 000 fichiers en test ) mais ça se comporte pas trop mal a priori :jap:

Reply

Marsh Posté le 22-06-2007 à 12:39:49    

t'es sur que tu n'as pas juste besoin d'accounting / quota ?
 
t'as essayé strace sur ton programme juste comme ça ...

Reply

Marsh Posté le 22-06-2007 à 14:32:44    

Taz a écrit :

t'es sur que tu n'as pas juste besoin d'accounting / quota ?

 

t'as essayé strace sur ton programme juste comme ça ...

 

Euh rien à voir avec un quelconque système de quota, mon objectif est de suivre les écritures de fichiers sur un répertoire, ce à quoi inotify semble bien répondre finalement :)

 

strace ? Le problème n'est pas de suivre les écritures d'un programme ( auquel cas je change directement le code du programme en prenant un truc libre ), mais bien de pouvoir suivre les écritures de n'importe quelle programme ou commande ( FTP, NFS, commandes shell, etc )

 


Bon bah me reste plus qu'à reproduire un test grandeur nature sur plusieurs centaines de milliers de fichiers :D


Message édité par Sly Angel le 22-06-2007 à 14:33:14
Reply

Marsh Posté le 22-06-2007 à 17:44:38    

de l'accounting quoi ...


Message édité par Taz le 22-06-2007 à 17:45:04
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed