这是我的特殊问题:我正在尝试在服务器上进行设置,为此我正在本地安装的Ubuntu 14.04 上git
进行测试;apache
例如,我可以git clone
在 HTTP 上做得很好,但 git push
在insufficient permission for adding an object to repository database ./objects
.
现在,原则上,我可能已用于strace
调试此操作,但这种操作会同时经过git
和apache
,因此我真的不知道要执行哪个过程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/
或类似的?)