我有一个 R 包,它通过 Rmpi 包向我运行的 OpenMPI 集群发送作业。在从控制台运行的 R 会话中,一切都按预期工作。但是,当我尝试像这样从我的 OpenCPU 服务器执行相关功能时(更改了细节以保护无辜者):
curl -XPOST http://99.999.999.99/ocpu/library/MyPackage/R/my_cluster_function
我收到此错误:
R call failed: process died.
(包中的其他非集群调用函数可以通过 OpenCPU 正常工作)。我注意到apparmor/var/log/kern.log
的各种请求DENIED
,我已经能够通过添加条目来解决其中的大部分请求,/etc/apparmor.d/opencpu.d/custom
以允许 OpenMPI 访问它需要的文件。但是,我无法解决与“打开”位置请求相关的这两个问题(同样,IP 地址已更改)"/"
:
Oct 26 03:49:58 99.999.999.99 kernel: [142952.551234] type=1400 audit(1414295398.849:957): apparmor="DENIED" operation="open" profile="opencpu-main" name="/" pid=22486 comm="orted" requested_mask="r" denied_mask="r" fsuid=33 ouid=0
Oct 26 03:49:58 99.999.999.99 kernel: [142952.556422] type=1400 audit(1414295398.857:958): apparmor="DENIED" operation="open" profile="opencpu-main" name="/" pid=22485 comm="apache2" requested_mask="r" denied_mask="r" fsuid=33 ouid=0
将此添加到我的 apparmor 规则没有帮助:
/* r,
两个问题:
- 为什么opencpu 试图从我的根目录中读取(或者这是否意味着别的)?
- 更紧迫的是,我该如何解决这个 apparmor 问题?
谢谢。