GNU/Linux >> Znalost Linux >  >> Linux

Zjistěte, který proces mění soubor

Řešení 1:

Chcete-li to zjistit, můžete použít audit. Pokud ještě není k dispozici, nainstalujte a povolte auditování pro své distro.

nastavte sledování auditu na /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.

Počkejte, až se změní soubor hostitelů, a poté pomocí ausearch zjistěte, co je zaznamenáno

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

Získáte množství výstupu, např.

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

V tomto případě jsem použil příkaz touch ke změně timstamp souborů, jeho pid bylo 7294 a ppid bylo 7259 (můj shell).

Řešení 2:

Můžete také použít inotify-tools:

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

Řešení 3:

Po dlouhém hledání jsem našel řešení, stačí použít tento příkaz:sudo fs_usage | grep [path_to_file]


Linux
  1. Připojte řádek do souboru /etc/hosts pomocí skriptu shellu

  2. Jak zjistit, ze které složky běží proces?

  3. Jaký je limit velikosti /etc/hosts?

  1. Měly by weby žít ve /var/ nebo /usr/ podle doporučeného použití?

  2. Jak v mém souboru /etc/hosts/ v systému Linux/OSX vytvořím subdoménu se zástupnými znaky?

  3. Limit velikosti /etc/hosts (Linux)

  1. CentOS / RHEL :Jak obnovit ze smazaného souboru /etc/passwd

  2. Jak zjistím, který proces má zámek na souboru v Linuxu?

  3. Jak zjistit, který proces používá soubor v Linuxu?