我正在使用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
希望这有帮助。