使用自定义OpenShift磁带创建应用时,权限被拒绝错误

时间:2014-04-19 15:14:51

标签: openshift selinux

我正在使用OpenShift Origin并首次开发墨盒。当我的bin / install和bin / control脚本运行时,当他们尝试访问cartridge usr目录中的任何内容时,我注意到“Permission denied”错误。在node platform.log节点中,我看到OpenShift运行的违规命令如下所示(我的bin / control start尝试在usr中运行脚本):

/sbin/runuser -s /bin/sh 5351e627ee5a934f290001d2 -c "exec /usr/bin/runcon 'unconfined_u:system_r:openshift_t:s0:c0,c1004' /bin/sh -c \"set -e; /var/lib/openshift/5351e627ee5a934f290001d2/mycart/bin/control start \""

由于usr dir是一个符号链接,我原本认为它与此有关,但现在我认为它与selinux有关(我不太了解)。如果我在我的应用程序的盒式磁带上执行“ls -Z”,则文件为“system_u:object_r:openshift_var_lib_t:s0:c0,c1004”,但usr目录的内容为“unconfined_u:object_r:default_t:s0”,因此它与上述命令中的内容不匹配。

我使用oo-admin-cartridge命令将磁带安装到我的Origin VM。

有关如何解决此问题的任何想法?

1 个答案:

答案 0 :(得分:0)

我最终做的是运行" chcon -R -u system_u -t bin_t usr /"在使用oo-admin-cartridge安装盒式磁带之前。内置磁带不受此问题的影响(已检查nodejs),因此我觉得它可能是oo-admin-cartridge错误。我希望它可以按摩selinux权限,而不是使用我提供的任何内容。