看板Linux
标 题Re: [问题] 有办法 Monitor 某只档案是哪个程式产生的吗
发信站SayYA 资讯站 (Tue Jun 17 03:14:58 2008)
转信站ptt!ctu-reader!ctu-peer!news.nctu!News.Math.NCTU!SayYa
※ 引述《[email protected] (特务J)》之铭言:
> 请问,
> 在 Linux 下,常常在某些资料夹会产生一些奇怪的档案。
> 如果想知道,某只档案是哪个程式或process 产生的,
> 有办法做到吗?
> 谢谢
可以,一般要先启动 audit 服务程式。比方 RHEL or Fedora
等系统先执行:
/etc/init.d/auditd start
後续用 auditctl 新增 rule,像是:
auditctl -w /tmp/test.txt -p w
後续只要有任何 test.txt 的写入存取都会纪录。
要查看就是用 ausearch,使用像是:
ausearch -f /tmp/test.txt
执行输出画面:
type=PATH msg=audit(1213643300.069:174): item=1 name="/tmp/test.txt"
inode=37 dev=08:0a mode=0100644 ouid=0 ogid=0 rdev=00:00
type=PATH msg=audit(1213643300.069:174): item=0 name="/tmp/" inode=2 dev=08:0a mode=041777 ouid=0 ogid=0 rdev=00:00
type=CWD msg=audit(1213643300.069:174): cwd="/tmp"
type=SYSCALL msg=audit(1213643300.069:174): arch=40000003 syscall=5
success=yes exit=3 a0=bf9b972e a1=8941 a2=1b6 a3=8941 items=2
ppid=30417 pid=31235 auid=4294967295 uid=0 gid=0 euid=0 suid=0
fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts10 comm=touch" exe="/bin/touch"
key=(null)
type=SYSCALL msg=audit(1213643372.107:200): arch=40000003 syscall=301
success=yes exit=0 a0=ffffff9c a1=bf903734 a2=0 a3=bf903734 items=3
ppid=30417 pid=31455 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0
egid=0 sgid=0 fsgid=0 tty=pts10 comm="rm" exe="/bin/rm" key=(null)
所以可以透过 uid,euid 知道身份,exec 可以知道存取的程式。
还有兴趣可以看看这篇:
http://www.cyberciti.biz/tips/
linux-audit-files-to-see-who-made-changes-to-a-file.html
--
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
现代人普遍的现象: 「小学而大遗」、「舍本而逐末」
「以偏而概全」、「因噎而废食」
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--
※ Origin: SayYA 资讯站 <bbs.sayya.org>
◆ From: kendlee.sayya.org