“–no-scripts”选项是否足以解决以root身份运行composer的安全问题?

我想.sh为自动部署网页从 github 到生产制作文件。我需要在其中运行 composer install 但当我运行它时,它会向我发出警告:

“不要以超级用户身份运行 composer install!”

我发现这是出于安全原因。但我还需要运行其他命令,例如删除一些文件和目录。

我发现解决此问题的解决方案是:

composer install --no-scripts --no-interaction

问题是:够了吗?是--no-script解决方案还是不解决方案?以 root 身份运行作曲家的最佳实践是什么?

回答

最佳实践是根本不使用sudo作曲家命令。如果您需要sudo作曲家,它通常表示您的项目文件权限设置不正确。

例如,您应该有一个拥有项目目录的非 root 用户,并且您应该以用户身份运行所需的命令,而不需要sudo. 如果您需要以 as 运行root,这可能意味着您在之前的一次运行中这样做了,并且已经弄乱了您的文件权限。

(最佳实践install在任何情况下也不在生产中运行,但至少您没有运行update

在需要以composer超级用户身份运行的极少数情况下,并且您不是在非常受限的环境中(例如构建 Docker 镜像),您应该注意官方指南,不仅使用--no-scripts,而且还使用参数--no-plugins,所以你只是在做文件复制而不是执行其他脚本。


以上是“–no-scripts”选项是否足以解决以root身份运行composer的安全问题?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>