GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Finden Sie heraus, welcher Prozess eine Datei ändert

Lösung 1:

Sie können Auditing verwenden, um dies zu finden. Falls noch nicht vorhanden, installieren und aktivieren Sie Auditing für Ihre Distribution.

Setzen Sie eine Audit-Überwachung auf /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.

Warten Sie, bis sich die Hosts-Datei ändert, und verwenden Sie dann aussearch, um zu sehen, was protokolliert wird

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

Sie erhalten Massen von Ausgaben, z. B.

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

In diesem Fall habe ich den Touch-Befehl verwendet, um den Timstamp der Dateien zu ändern, seine PID war 7294 und seine Ppid war 7259 (meine Shell).

Lösung 2:

Sie können auch inotify-tools verwenden:

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

Lösung 3:

Nach langem Suchen habe ich die Lösung gefunden, benutze einfach diesen Befehl:sudo fs_usage | grep [path_to_file]


Linux
  1. Wie finde ich heraus, welcher Prozess eine Datei in Linux gesperrt hat?

  2. Wie finde ich heraus, aus welchem ​​Ordner ein Prozess läuft?

  3. Finden Sie heraus, welcher Prozess eine Datei ändert

  4. Sollten Websites gemäß der empfohlenen Verwendung in /var/ oder /usr/ leben?

  5. Größenbeschränkung von /etc/hosts (Linux)

3 Möglichkeiten, um herauszufinden, welcher Prozess auf einem bestimmten Port lauscht

Wie wird /etc/motd aktualisiert?

Linux:Finden Sie heraus, auf welcher Portnummer ein Prozess lauscht

/etc/hosts-Datei unter Linux verstehen

Die Dateien /proc/mounts, /etc/mtab und /proc/partitions verstehen

Unterschied zwischen /etc/hosts und /etc/resolv.conf