【发布时间】:2019-11-14 19:14:24
【问题描述】:
This 页面提到“使用 curl | sudo sh”模式:
在生产服务器上进行更改时使用此方法 [而不是]
curl -sf -L https://static.rust-lang.org/rustup.sh -o rustup.sh less rustup.sh chmod +x rustup.sh sudo ./rustup.sh
我不明白为什么这比只做curl | sudo sh 更好。下载文件并先对其进行 chmod 处理有什么不同。我还没有看到任何关于 curl 的替代方案的争论 | sh 以及为什么它们更好,只有 curl 的问题 |嘘。请解释一下上面的内容如何更好(在某些细节上),或者任何其他替代方法在某些细节上更好。
例如,here 的回复都没有解释任何替代方案或为什么它们更好。与我见过的所有其他网站一样。
主要论点是,如果有人入侵了您的服务器,他们可以用其他代码替换代码。但是任何包管理器都不会发生这种情况吗?我的意思是谁每次都在npm installing 之前深入检查代码,甚至是带有它的本机C 扩展。那些可能会做同样的事情,尤其是在安装时运行之前/之后的 shell 脚本。我看不出这些比 bash 中的管道更安全。
【问题讨论】:
-
因为使用
less可以检查脚本而不是使用sudo盲目运行它
标签: bash shell security curl pipe