我正在考虑向我正在开发的 linux 发行版的 posix API 添加一些自定义安全行为。
例如,如果程序要求 fopen() 一个它具有写访问权限但通常不应访问的目录,则提示用户进行身份验证。
在进行本机 linux 调用之前,是否有一种简单的方法可以将客户行为挂钩到 posix 调用,或者我只需要分支我自己的源代码,然后将一个函数放入实际的库中,然后执行标准行为?
我正在考虑向我正在开发的 linux 发行版的 posix API 添加一些自定义安全行为。
例如,如果程序要求 fopen() 一个它具有写访问权限但通常不应访问的目录,则提示用户进行身份验证。
在进行本机 linux 调用之前,是否有一种简单的方法可以将客户行为挂钩到 posix 调用,或者我只需要分支我自己的源代码,然后将一个函数放入实际的库中,然后执行标准行为?
您可以使用 LD_PRELOAD 在其他系统库之前加载您自己的库。通过这个,您可以编写某种包装器 fopen() 等。有关更多信息,请参阅此链接。