Puoi usare auditd e aggiungere una regola per controllare quel file:
auditctl -w /path/to/that/file -p wa
Quindi controlla che le voci vengano scritte in /var/log/audit/audit.log
.
SystemTap può farlo, usando lo script inodewatch .
nel caso in cui i programmi che stai cercando abbiano ancora il file aperto, puoi usare quanto segue:
sudo lsof /path/to/file/being/modified
potresti anche chiamare questo in un piccolo ciclo, citando in giudizio il seguente script getfileusers.sh
:
#!/bin/sh
FILE=$1
while true; do
lsof "${FILE}"
done > /tmp/fileusers.log
e poi chiamalo:
sudo ./getfileusers.sh /path/to/file/being/modified
e infine ispezionare /tmp/fileusers.log
per vedere chi ha toccato il file...