Вы можете использовать аудит, чтобы найти это. Если он еще не доступен, установите и включите аудит для вашего дистрибутива.
установите контрольное наблюдение на / etc / hosts
/sbin/auditctl -w /etc/hosts -p war -k hosts-file
-w watch /etc/hosts
-p warx watch for write, attribute change, execute or read events
-k hosts-file is a search key.
Подождите, пока файл hosts не изменится, а затем используйте ausearch, чтобы увидеть, что записано в журнал.
/sbin/ausearch -f /etc/hosts | more
Вы получите много результатов, например,
time-> среда, 12 октября 09:34:07 2011 type = PATH msg = audit (1318408447.180: 870): item = 0 name = "/ etc / hosts" inode = 2211062 dev = fd: 00 mode = 0100644 ouid = 0 ogid = 0 rdev = 00: 00 obj = system_u: object_r: etc_t: s0 type = CWD msg = audit (1318408447.180: 870): cwd = "/ home / iain" type = SYSCALL msg = audit (1318408447.180: 870): arch = c000003e syscall = 2 success = yes exit = 0 a0 = 7fff73641c4f a1 = 941 a2 = 1b6 a3 = 3e7075310c items = 1 ppid = 7259 pid = 7294 au id = 1001 uid = 0 gid = 0 euid = 0 suid = 0 fsuid = 0 egid = 0 sgid = 0 fsgid = 0 tty = pts0 ses = 123 comm = "touch" exe = "/ bin / touch" subj = user_u: system_r: unlimited_t: s0 key = "hosts-file"
В этом случае я использовал команду touch, чтобы изменить временную метку файлов, это pid было 7294, а ppid было 7259 (моя оболочка).
возможно лучше использовать что-нибудь вроде incron, чем
http://inotify.aiken.cz/?section=incron&page=about&lang=en
вы можете заставить его запускать скрипт для выполнения каких-то диагнозов