阻止特定应用程序访问用户空间中的文件夹

阻止特定应用程序访问用户空间中的文件夹

我有一个应用程序,它会递归扫描大型目录,由于这些目录位于 NFS 上,因此速度更慢。似乎我无法配置应用程序来阻止这种情况。但是,我仍然想使用该应用程序,并且该应用程序实际上根本不需要访问这些目录。

相关问题但这里的解决方案是使用 AppArmor。

据我所知,AppArmor 需要 root 访问权限。但是,我正在寻找一种无需 root 访问权限即可实现的解决方案。此外,AppArmor 看起来太复杂了,不符合我的要求。

我可能可以通过注入一些小型库LD_PRELOAD来包装所有opendir调用。这样就可以解决问题。

但这样的事情一定已经存在了,不是吗?

答案1

我发现ld-预加载-打开我可以在其中设置映射。我只需将所有要阻止的路径映射到即可/dev/null。这完全符合预期。

调试应用程序实际访问的文件/路径,我只需执行以下操作:

strace -e trace=file -f my-app

相关内容