Eu acho que você pode usar a auditoria para um arquivo / diretório específico ou escrever uma regra personalizada com base em seus requisitos
auditctl -w <path to the file you need to monitor> -p war -k test
Where -w is for specifying file path
-p is for permission access (read,write,execute and attribute change)
-k key name,you can give name you can use to filter audit rule
Então você pode pesquisar usando
ausearch -ts today -k test
Por exemplo, eu usei isso, crie este arquivo / tmp / test e escreva alguns dados aleatórios
auditctl -w /tmp/test -p warx -k test
e então execute este comando
ausearch -ts today -k test
--ts for start date
-k is for key string
Então a saída disso
type=SYSCALL msg=audit(1407949301.821:63216): arch=c000003e syscall=191 success=no
exit=-61 a0=eacca0 a1=3600005db7 a2=7fff15265180 a3=84 items=1 ppid=2384 pid=16921
auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=10096
comm="vim" exe="/usr/bin/vim" key="test"
Portanto, se você verificar a última linha de saída, ele mostrará que o comando executado é vim e com uid = 0, que é root
Se você quiser tornar essas alterações persistentes durante a reinicialização, em /etc/audit/audit.rules adicione a entrada como esta
-w /tmp/test -p warx -k test
e verifique se o serviço auditd está funcionando
service auditd status
Para obter mais informações, consulte http://www.cyberciti.biz/tips/linux-audit-files-to-see-who-made-changes-to-a-file.html