Le lun. 29 ao�t 2011 à 14:08 +0200, guilde@??? a ecrit :
> Oui, je connais inotify. J'espérais éviter, d'autant qu'il faut
> qu'un démon tourne en permanence, et si pour une raison quelconque
> il stoppe, plus de protection.
Je ne crois pas. Réf ?
A ma connaissance, inotify est seulement un ensemble d'appels système
(man 7 inotify).
Après il existe des démons qui tournent au-dessus, comme famd ou incrond.
C'est peut-être à ça que tu pensais ?
inotifywait et inotifywatch sont les deux "commandes" standard (paquet inotify-tools)
qui permettent d'utiliser inotify en Shell, mais leurs fonctionnalités sont plus réduites que
les appels C ou le binding Perl.
Reste qu'inotify n'est pas bien adapté pour surveiller toute une arborescence.
À la place, tu peux surveiller les appels système chmod, fchmod et fchmodat avec
audit :
auditctl -aexit,always -S chmod -S fchmod -S fchmodat -F success=1 -kmonchmod
Ensuite, tu reviens à faire un polling sur le fichier audit.log (directement ou
via la commande aureport). Mais c'est BEAUCOUP plus rapide qu'un parcours du système
de fichiers.
Et si tu as des critères supplémentaires, comme l'uid du programme qui effectue le chmod
tu peux affiner ta règle auditctl (p. ex. -F euid>999 ...) pour générer le moins possible
de "faux positifs" dans audit.log.
Ah, en revanche, audit repose bien sur un démon (auditd). man audit est ton ami ;-).
--
° /\ Guillaume Allègre Membre de l'April
/~~\/\ Allegre.Guillaume@??? Promouvoir et défendre le logiciel libre
/ /~~\ tél. 04.76.63.26.99 http://www.april.org