Comment logger les écritures sur une partition - réseaux et sécurité - Linux et OS Alternatifs
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
Marsh Posté le 21-06-2007 à 17:30:03
Regardes du côté d'un outil appelé "dnotify" aussi.
Marsh Posté le 21-06-2007 à 17:38:43
Sinon, t'as la "vieille" mais éprouvée alternative Fam/Gamin (oui, je sais ), dont tu pourrais t'inspirer.
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
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 => man 7 inotify
Marsh Posté le 21-06-2007 à 17:45:26
Ha bah tiens, tiré du man :
Citation : The inotify API provides a mechanism for monitoring file system events. Inotify can be used |
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
Marsh Posté le 21-06-2007 à 17:49:17
Zzozo a écrit : Ha bah tiens, tiré du man :
|
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 )
Marsh Posté le 21-06-2007 à 17:52:50
Sinon, un peu plus "brute", y'a les les kernel probes
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
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
Le mieux, c'est d'essayer
Le temps d'emerger les inotify-tools, et je pourrais te dire ça
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
J'ai du faire un echo 16000 > /proc/sys/fs/inotify/max_user_watches pour qu'il puisse établir ses "points de surveillance"
Attention, qd tu le lances, ça prend un petit peu de temps (enfin, c'est relatif ) à initialiser si y'a bcp de choses à surveiller mais après c'est bon
Marsh Posté le 21-06-2007 à 18:55:53
avec grsec je crois que c'est faisable
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 |
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
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 ...
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
Marsh Posté le 22-06-2007 à 17:44:38
de l'accounting quoi ...
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.