我对使用 Terminal 和类似的东西还很陌生,愚蠢地按照一篇使用 Terminal 和 SUDO 命令的文章操作。sudo 命令基本上加载了一个文件,该文件更新了我的 /private/etc/hosts 文件。我打开了该文件,确保它只是在做这件事,没有做其他事情。
一切正常,但后来我发现这有点愚蠢,它让我的机器遭受各种安全攻击。首先,我希望验证这句话是否“遭受安全攻击”。我真的这样做了吗?如果是,可以采取哪些步骤来重新确保安全。这是我在终端中使用的:
终端命令
sudo -s
[enter password]
sh updateOSXHostFile
文件:
echo "Do you wish to update your host file ?"
select yn in "Yes" "No"; do
case $yn in
Yes ) echo "0.0.0.0 yahoo.com" >> /etc/hosts;
echo "0.0.0.0 www.yahoo.com" >> /etc/hosts;
break;;
No ) break;;
esac
done
成功更新了 hosts 文件以阻止对特定站点的访问。
答案1
使用 sudo 运行命令与在 Windows 上以管理员身份运行命令没有什么不同。
真正重要的是在使用这些提升的权限时“你做了什么”。如果你只是将 IP 地址添加到主机文件中,从而有效地屏蔽了某些网站(广告拦截的常见做法),那么你没事……
如果您运行的脚本通过将您指向恶意服务器(DNS 中毒)或其他恶意程序来重新定义 Google 的地址,那么您就会遇到麻烦。
根据您提供的脚本,您没问题...但是雅虎对您来说已经死了。
关于黑洞特定站点的相关文章:http://someonewhocares.org/hosts/zero/(这就是这种方法的极端之处)
我更喜欢使用开放域名服务器按照上述方法。
答案2
通过执行脚本,sudo
您可以给它超级用户权限。因此,脚本所编写的任何操作都将由 root(超级用户)执行。风险有多大取决于编写脚本的人。或者更准确地说,取决于脚本执行的操作。
一般来说,除非您信任其来源,否则您不应该执行这样的脚本。
在您的特定情况下:如果脚本修改了文件hosts
,它可能会放置如下一行:
199.55.22.33 www.yourbank.com
使用不属于您银行的 IP 地址。这对于网络钓鱼来说是一个很好的开始。
更新:当您发布代码时,我们可以看到该脚本正在尝试阻止访问雅虎. 这看起来无害。但即使脚本只是干扰 hosts 文件,也可能很危险。