Je sais que c'est une vieille question, mais je suggérerai une autre approche au cas où quelqu'un le jugerait utile. Au départ, je publiais ceci en réponse à une question qui était dupée à celle-ci.
Une option consiste à utiliser sysdig
: une application de surveillance du système open-source. En l'utilisant, vous pouvez surveiller l'activité d'un fichier par son nom. Supposons que vous vouliez voir quel processus créait un fichier nommé /tmp/example.txt
:
# sysdig fd.name=/tmp/example.txt
567335 16:18:39.654437223 0 touch (5470) < openat fd=3(<f>/tmp/example.txt) dirfd=-100(AT_FDCWD) name=/tmp/example.txt flags=70(O_NONBLOCK|O_CREAT|O_WRONLY) mode=0666
567336 16:18:39.654438248 0 touch (5470) > dup fd=3(<f>/tmp/example.txt)
567337 16:18:39.654438592 0 touch (5470) < dup res=0(<f>/tmp/example.txt)
567338 16:18:39.654439629 0 touch (5470) > close fd=3(<f>/tmp/example.txt)
567339 16:18:39.654439764 0 touch (5470) < close res=0
567342 16:18:39.654441958 0 touch (5470) > close fd=0(<f>/tmp/example.txt)
567343 16:18:39.654442111 0 touch (5470) < close res=0
À partir de cette sortie, vous pouvez voir qu'un processus nommé touch
avec pid 5470 a ouvert le fichier.
Si vous souhaitez plus d'informations, vous pouvez exécuter le "mode capture" où une trace d'appel système est collectée:
# sysdig -w /tmp/dumpfile.scap
Attendez ensuite que le fichier soit créé, puis arrêtez sysdig
et exécutez:
# csysdig -r /tmp/dumpfile.scap
Cela vous permettra d'explorer tout ce qui s'est passé. Vous pouvez appuyer sur <F2>
et sélectionner Files
, la presse <F4>
pour rechercher le nom du fichier, puis appuyer <F6>
sur "dig" (qui affichera une sortie similaire à la commande ci-dessus). Avec cela, vous pouvez ensuite utiliser la même approche pour trouver des informations sur le processus qui a réellement créé le fichier.
Il existe une version graphique de csysdig
appelée sysdig-inspect
, si c'est plus votre tasse de thé.