statx需要哪些功能才能停止提供EPERM
收藏

我有一个qt项目,它使用一个插件接口,在我的系统上编译得很好。但是,当在Docker中编译同一个项目时,它停止使用Qt5.10.1,并给出消息Error: Undefined interface。在运行了一些strace之后,发现没有找到定义接口的头文件,因为include文件路径上的moc调用总是返回statx。文档甚至没有提到如何生成此错误。
EPERM修复了此问题,但我希望避免过多的权限,因此只设置必要的权限。
到目前为止,我试图添加所有这些功能(甚至同时添加),但没有成功:
Cap_Dac_覆盖
cap_dac_read_搜索
船长
Cap_设置映射
我是不是丢了什么东西?
更新
apull request这是待定的。


最佳答案:

2018-03-06之前
statx不包含在docker当前使用的default seccomp whitelist中。
您可以使用--security-opt seccomp=/path/to/seccomp/profile.json指定不同的配置文件(可能是添加了此系统调用的配置文件)。
2018-03-06之后
截至2018年3月6日,moby/moby#36417merged to master
它应该包含在以后的夜间构建中,并最终包含在Docker18.04版本中。

    公众号
    关注公众号订阅更多技术干货!