我正在使用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。
有关如何解决此问题的任何想法?
答案 0 :(得分:0)
我最终做的是运行" chcon -R -u system_u -t bin_t usr /"在使用oo-admin-cartridge安装盒式磁带之前。内置磁带不受此问题的影响(已检查nodejs),因此我觉得它可能是oo-admin-cartridge错误。我希望它可以按摩selinux权限,而不是使用我提供的任何内容。