GNU/Linux >> Linux Esercitazione >  >> Linux

Trova quale processo sta modificando un file

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...


Linux
  1. Come determinare quale processo sta creando un file?

  2. È possibile trovare quale Vim/tmux ha il file aperto?

  3. Cos'è un processo ininterrotto?

  4. Come faccio a scoprire quale processo ha un blocco su un file in Linux?

  5. creare un file di registro

3 modi per scoprire quale processo è in ascolto su una porta particolare

Rotazione del file di registro

Linux:scopri su quale numero di porta è in ascolto un processo

Log rotazione di stdout?

Scopri quale processo sta modificando un file

Come trovare il file .pid per un determinato processo