-3

我正在升级 bash 以修补 shellshock 漏洞,所以我按照教程进行操作,我想我通过替换旧的 bin/bash $PATH 搞砸了,所以我无法登录到我的 macbook ...

教程说:如果你非常偏执,你可以删除 bash_old 的执行权限 ....

$ sudo chmod ax /bin/bash_old /bin/sh_old.... ------> 可疑代码...

我认为这是一个大错误,所以我按照以下步骤用新的 bash 更新(使用 Homebrew 升级)替换旧的 PATH 到新的 PATH:

$ sudo ln -s /usr/local/Cellar/bash/4.3.25/bin/bash /bin/bash

$ sudo ln -s /usr/local/Cellar/bash/4.3.25/bin/bash /bin/sh

当我重新启动macbook时,我设置了我的密码并继续加载模式......加载......加载......并且没有任何反应......

我尝试了很多事情,比如恢复 NVRAM、恢复磁盘、将密码更改为单用户模式,但没有任何反应......该死!

这里的教程:

https://apple.stackexchange.com/questions/147005/can-bash-be ...

4

1 回答 1

2

我做了完全相同的事情并且遇到了完全相同的问题。将旧的 bash 和 sh 放在 /usr/bin 中的适当位置。您可以使用目标磁盘模式来执行此操作。

此外,还有来自 Apple 的官方补丁:http: //support.apple.com/kb/DL1769

进一步支持:

我的意思是你真的必须用火线/雷电线将你的 macbook 插入另一台 mac。在启动您无法访问的 Mac 时按住 T。然后您的计算机将作为硬盘安装在另一台上。

所以你只需要导航到 finder 中的 /usr/bin 目录。您可以通过执行以下操作来打开隐藏文件和目录SUDO defaults write com.apple.Finder AppleShowAllFiles YES; killall Finder

进入 /usr/bin 后,只需将文件 bash_old 或 sh_old(无论您将备份命名为什么)分别重命名为 bash 和 sh。如果您没有进行备份,那么您将需要从其他地方复制它们并希望它们被正确编译。

另请注意,我无法通过终端导航到我无法访问的 macbook,只有 Finder。我不确定这是为什么。

于 2014-10-01T20:36:15.383 回答