Pour vous aider à trouver le coupable, voici un dtrace oneliner qui imprime le pid et le nom de tout processus qui ouvre un fichier en écriture, ainsi que le nom du fichier :
dtrace -qn 'syscall::open*:entry /arg1&3/ { printf("%d %s %s\n", pid, execname, copyinstr(arg0)); }'
Il doit être exécuté en tant que Root (par exemple, avec sudo). Introduisez-le dans grep hosts
pour éviter de vous noyer dans les résultats et de manquer ce que vous cherchez :
sudo dtrace -qn 'syscall::open*:entry /arg1&3/ { printf("%d %s %s\n", pid, execname, copyinstr(arg0)); }' | grep hosts
Avec un peu de chance, cela vous indiquera quel processus écrase le fichier. Laisse-le s'exécuter dans une fenêtre de terminal jusqu'à ce qu'il se déclenche.