【发布时间】:2014-02-05 02:16:13
【问题描述】:
在一个非常受限的嵌入式 Linux 系统上,我希望记录所有打开/映射/任何用于读取和或写入的文件。换句话说,所有至少被访问一次的文件。最好的方法是什么?由于“某些”限制,我不希望修改/破解文件系统、初始化脚本和用户空间级别……我认为我更愿意在内核中做事。即使在正确的函数中插入 printk 也是可以接受的。如果这很重要,我正在使用 ext3 文件系统。
【问题讨论】:
-
您想更改内核但不修改 FS 堆栈?你能澄清一下吗?无论如何,如何在可堆栈文件系统中拦截 FS 调用,记录并将其转发到本机 FS。如果要跟踪整个 FS,请将这个可堆叠的 FS 挂载到 /':检查这里:wrapfs.filesystems.org/docs/linux-stacking/index.html
-
正确。我想避免 FS 堆栈修改,我可以在内核中做任何事情。
-
inotify 怎么样?如果这没有帮助,也许我不明白你的问题。 man7.org/linux/man-pages/man7/inotify.7.html
-
你想要
auditd,Linux 审计守护进程。 security.blogoverflow.com/2013/01/… -
谢谢。我真的更喜欢在内核中做事情,因为我需要监控一旦 init 启动就会发生的棘手事情。我已经准备好修补内核了。我只是问拦截所有打开的 fs 调用的最佳位置是什么。
标签: linux-kernel filesystems ext3