GNU/Linux >> Tutoriels Linux >  >> Linux

Découvrez quel processus modifie un fichier

Solution 1 :

Vous pouvez utiliser l'audit pour le trouver. S'il n'est pas déjà disponible, installez et activez l'audit pour votre distribution.

définir une surveillance d'audit sur /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.

Attendez que le fichier hosts change, puis utilisez ausearch pour voir ce qui est enregistré

/sbin/ausearch -f /etc/hosts | more

Vous obtiendrez des masses de sortie, par exemple

> time->Wed Oct 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:unconfined_t:s0
> key="hosts-file"

Dans ce cas, j'ai utilisé la commande touch pour modifier l'horodatage des fichiers, son pid était 7294 et son ppid était 7259 (mon shell).

Solution 2 :

Vous pouvez également utiliser inotify-tools :

  inotifywait -mq -e open -e modify /etc/hosts

Solution 3 :

Après de nombreuses recherches, j'ai trouvé la solution, il suffit d'utiliser cette commande :sudo fs_usage | grep [path_to_file]


Linux
  1. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  2. Comment /etc/motd est-il mis à jour ?

  3. Comment puis-je savoir quel processus a un verrou sur un fichier sous Linux ?

  4. Ajouter une ligne au fichier /etc/hosts avec le script shell

  5. Comment savoir quel processus utilise un fichier sous Linux ?

3 façons de savoir quel processus écoute sur un port particulier

Linux :Découvrez sur quel numéro de port un processus écoute

Comprendre les fichiers /proc/mounts, /etc/mtab et /proc/partitions

Quelle est la limite de taille de /etc/hosts ?

Les sites Web doivent-ils vivre dans /var/ ou /usr/ selon l'utilisation recommandée ?

Dans mon fichier /etc/hosts/ sous Linux/OSX, comment créer un sous-domaine générique ?