2017-02-24 69 views
0

我想拦截特定文件上的统计调用,并在检测到后立即快速执行操作。拦截Linux文件系统中文件的统计调用是否可能? (来自用户空间)

在过去,我已经使用了inotify的库,但多数民众赞成只为我工作,当打开/写入/关闭文件等。如果我没有记错,统计只是读取文件系统上的i节点的内容,还等什么用户空间中运行的二进制文件拦截调用的最佳方式是什么?

我想这也可以概括为拦截来自用户空间的系统调用?

而且要注意,我不知道我针对的过程,但没有当它运行等

多亏了任何控制!

回答

0

这种技术有可能被称为function interposition

它适用于您启动或控制启动环境的应用程序,以便能够设置LD_PRELOAD环境变量。

+0

不幸的是,我无法控制启动环境,并说在根目录下运行二进制文件,而我运行在权限较低的用户身上,并且控制着正在运行的文件。这使得这变得更加困难,我开始相信,如果不修改内核并构建它本身是不可能的......感谢链接,但是这种技术在相关工作中似乎很有用! –

+0

@AzeemIlyas在这种情况下,您不能颠覆其他应用程序,这是一项安全功能。 –

0

您可以在库级别使用函数劫持LD_PRELOAD,但这只适用于不是setuid/setgid的动态链接二进制文件。对于静态或setuid/setgid二进制文件,你必须实现一个内核模块来劫持内核级别的函数。

相关问题