首页 > 解决方案 > c++ statx() 系统调用在 Cloud Foundry 中不起作用

问题描述

我想在 Cloud Foundry 中部署的应用程序中使用 syscall statx()。不幸的是,它不起作用,因为

"EPERM: Operation not permitted".

但我可以毫无问题地使用 stat() 。

有什么方法可以让我的应用程序运行吗?

提示:我相信,问题可能是运行时 garden-runC 中 seccomp 配置文件的配置——它过滤了允许的系统调用,而 statx 不在允许的列表中。

标签: cloud-foundry

解决方案


我找到了解决方法:如果启用了特权容器支持,则可以使用 statx() 并且运行良好

https://github.com/cloudfoundry/cf-deployment/blob/main/operations/enable-privileged-container-support.yml

不幸的是,这确实是个坏主意,而且会降低安全性。更多细节:https ://docs.cloudfoundry.org/concepts/container-security.html


推荐阅读