我有一台运行 FreeBSD 10 的供个人使用的服务器,它没有安装 Bash,而且从来没有安装过。然而,它带有自己的 POSIX 兼容 shell“sh”。我是否需要担心我的服务器上的 Shellshock 错误?
我尝试运行这个臭名昭著的 shell 脚本没有得到“脆弱”的回声,但我不知道这是否能确保我是安全的:
env x='() { :;}; echo vulnerable' sh -c 'echo hello'
答案1
是的,你是安全的(至少不会受到 Shellshock 的影响)。“炮弹休克”错误特定于bash
且不影响 Bourne(传统sh
)或 Almquist(FreeBSD sh
、ash
Debian dash
(以及sh
较新版本))或任何其他非bash
shell。
答案2
当然,好的旧贝壳是没有问题的。只有人们太懒才使用 bash,尽管在大多数情况下他们并不真正需要它。您可以配置 ksh 或其他一些东西来完成 bash 几乎所有的事情。对于更高级的用途,ppl 应该看看 zsh,我尝试过,它看起来很有前途。然而,我永远不会安装一个强大的 shell 作为默认的某个地方,或者作为 php 或 web 服务器用户使用的帐户的 shell。这些人应得的。