che.openshift.io - 以 SUDO 身份运行终端



我正在使用Red Hat的che.openshift.io- Eclipse Che。我有一个PHP Laravel Stack的工作空间。当我尝试从 php 终端以 SUDO 身份运行命令时,出现错误。

SUDO - not a command /
SU - must be run from a terminal

有人可以帮助我以 root 用户身份运行吗?我必须从终端安装heroku CLI,这只能通过 root 用户完成。

一般来说,以 root 身份运行的容器是一个重大的安全风险 + 容器应该是不可变的,不建议在容器内安装任何东西,因为重新启动后所有包都会消失。

che.openshift.io上的 Eclipse Che 工作区正在针对不支持sudo的红帽 OpenShift Online 集群运行,并且工作区容器正在使用任意用户 ID 运行(这为由于容器引擎漏洞而逃离容器的进程提供了额外的安全性,从而在主机节点上实现了权限提升(。因此,基本上您无法从工作区终端执行sudo

我必须从终端安装 heroku CLI,这只能通过 root 用户完成。

为了从终端支持Heroku CLI,您有2个选项:

  • 根据 Eclipse Che - https://github.com/eclipse/che-dockerfiles/blob/master/recipes/php/7.1/Dockerfile 中使用的默认 php 映像,使用安装Heroku CLI创建您自己的自定义 php 映像(然后从自定义开发文件中引用此映像,以满足您的需求(
  • Eclipse Che 支持 vscode 扩展,您可以将heroku-cli的支持贡献给 che-plugin-registry

希望这有帮助。

最新更新