通用调试/日志记录/跟踪文件系统目录和文件访问?

通用调试/日志记录/跟踪文件系统目录和文件访问?

这是我的特殊问题:我正在尝试在服务器上进行设置,为此我正在本地安装的Ubuntu 14.04 上git进行测试;apache例如,我可以git clone在 HTTP 上做得很好,但 git pushinsufficient permission for adding an object to repository database ./objects.

现在,原则上,我可能已用于strace调试此操作,但这种操作会同时经过gitapache,因此我真的不知道要执行哪个过程strace。此外,我什至无法判断最终操作尝试以什么用户身份运行。我唯一确定的是,./objects正在访问的是 git repo 目录,可能是为了在那里创建文件。

所以我想,对我来说最简单的可能是如果有一个程序,可以设置为“侦听”对目录的访问,并打印/记录每个此类访问以表示 stdout;在这个伪代码的示例中:

$ ./traceDirectoryAccess --path /path/to/mygitrepo/objects
Listening for accesses on /path/to/mygitrepo/objects ...
Sat Apr  9 17:53:42 CEST 2016 - pid 1234, user myName (uid 1002) did:
 > create file /path/to/mygitrepo/objects/somefile
 > result: permission DENIED
...

那里有这样的东西吗?如果本身没有程序,也许有一些内核设施(例如通过文件/sys/kernel/debug/或类似的?)

答案1

好的,在这个网站上找到了答案:列出程序访问的文件解释说可以使用记录文件系统或Linux审计子系统

相关内容