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

Nob*_*ody 3 linux docker linux-capabilities

我有一个Qt项目,它使用一个插件接口,可以很好地编译我的系统.但是,当在docker中编译同一个项目时,它停止使用Qt 5.10.1,给出了消息Error: Undefined interface.一些经过strace荷兰国际集团的moc运行,事实证明,它定义接口的头文件没有找到,因为statx在包括的文件路径调用总是返回EPERM.文档甚至没有提到如何生成此错误.

docker run --privileged 解决了这个问题,但我想避免过多的权限,所以我只想设置必要的权限.

到目前为止,我试图添加所有这些功能(即使在同一时间)但没有成功:

  • CAP_DAC_OVERRIDE
  • CAP_DAC_READ_SEARCH
  • CAP_FOWNER
  • CAP_SETFCAP

我在这里错过了什么吗?

UPDATE

对此的拉取请求正在等待中.

Cha*_*ffy 5

2018-03-06之前

statx截至当前日期,Docker使用的默认seccomp白名单中不包含此内容.

您可以使用它--security-opt seccomp=/path/to/seccomp/profile.json来指定不同的配置文件(可能是添加了此系统调用的配置文件).


2018-03-06之后

moby/moby#36417于2018年3月6日合并为主人.

它应该包含在未来的夜间构建中,并最终在Docker 18.04版本中.