“–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
,所以你只是在做文件复制而不是执行其他脚本。
THE END
二维码