答案1
您无法追溯确定哪个进程创建了文件...您必须在创建文件时监视系统。
用来auditd
帮助你。安装并运行后,从上面列出的目录中以 root 身份运行以下命令:
auditctl -w "$(pwd)/1"
auditctl -w "$(pwd)/=1"
一旦您看到文件已被创建或修改,请运行以下命令:
ausearch -f "$(pwd)"
您应该看到以分隔符 ( ) 分隔的记录的输出----
。
我看到以下内容设置了一个监视/home/attie/testing
,然后使用它touch
来创建/更新它:
time->Mon Sep 10 14:41:07 2018
type=PROCTITLE msg=audit(1536586867.166:1192): proctitle=746F7563680074657374696E67
type=PATH msg=audit(1536586867.166:1192): item=1 name="testing" inode=8442 dev=00:b8 mode=0100644 ouid=1000 ogid=1000 rdev=00:00 nametype=CREATE
type=PATH msg=audit(1536586867.166:1192): item=0 name="/home/attie" inode=4 dev=00:b8 mode=040701 ouid=1000 ogid=1000 rdev=00:00 nametype=PARENT
type=CWD msg=audit(1536586867.166:1192): cwd="/home/attie"
type=SYSCALL msg=audit(1536586867.166:1192): arch=c000003e syscall=2 success=yes exit=3 a0=7ffc35557634 a1=941 a2=1b6 a3=69d items=2 ppid=25572 pid=31301 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts2 ses=24669 comm="touch" exe="/bin/touch" key=(null)
请注意以下关键信息:
type=PATH [...] item=1 name="testing"
type=CWD [...] cwd="/home/attie"
type=SYSCALL [...] exe="/bin/touch"
一旦确定了发生了什么,您就需要删除规则 - 这将删除所有规则:
auditctl -D