3 votes

ouverture d'une trace sur un certain fichier

Je sais comment stracer un certain programme pour voir tous les fichiers qu'il lit. Je sais comment voir quels processus utilisent un certain fichier en ce moment.

Mais existe-t-il un moyen d'enregistrer toutes les ouvertures de fichiers ? Je veux quelque chose comme tail -f some/log/file mais à la place lsof -f /file/someone/might/open/soon qui imprime des informations à chaque fois que quelque chose ouvre ce fichier.

Merci

2voto

ott-- Points 1071

Cela peut être fait avec un système d'audit. Vous n'avez pas précisé votre système d'exploitation, je suppose que c'est Linux. Vérifiez http://linux.die.net/man/8/auditd et le See also pages en bas de page.

1voto

Cakemox Points 23637

Vous pourriez utiliser inotify pour exécuter lsof lorsque le fichier est accédé. Par exemple, dans l'incrontab :

/etc/passwd IN_ACCESS /tmp/lsof.sh $@

Incrontab ne semble pas utiliser le Shell, donc les redirections ne peuvent pas être utilisées. Un wrapper peut être utilisé à la place :

lsof -f -- $1 >> /tmp/lsof.log

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X