【发布时间】:2011-06-02 06:35:36
【问题描述】:
我在 OS X 10.6.5 上安装了最新的 Homebrew
运行任何命令都会生成此警告:
/usr/local/Library/Homebrew/global.rb:34:警告:不安全的世界可写目录 /usr/local/bin 在 PATH,模式 040777
为什么我会收到此警告?以及如何补救?
【问题讨论】:
标签: macos osx-snow-leopard homebrew
我在 OS X 10.6.5 上安装了最新的 Homebrew
运行任何命令都会生成此警告:
/usr/local/Library/Homebrew/global.rb:34:警告:不安全的世界可写目录 /usr/local/bin 在 PATH,模式 040777
为什么我会收到此警告?以及如何补救?
【问题讨论】:
标签: macos osx-snow-leopard homebrew
我遇到了同样的问题,只是用这 3 个命令修复了它,大致取自 Homebrew 安装脚本:
sudo chgrp -R admin /usr/local
sudo chmod -R g+rwx /usr/local
sudo chmod -R o-w /usr/local
【讨论】:
cd /usr/local && git reset --hard && git clean -d -f 来清理 /usr/local 中的 git 存储库
这是 ruby 的一个安全特性,你可以通过运行改变目录 /usr/local/bin 的权限来摆脱这个:
sudo chmod go-w /usr/local/bin
并在提示符处输入您的密码。
您确实不需要更改所有权,并且也不应该按照 Ryan 的建议删除 /usr/local(这将需要您重建到目前为止已完成的所有工作) ,该目录归root所有,这是通常的方式。
【讨论】:
/usr/local 目录不归根用户所有。这就是重点。在这种情况下,从头开始并不是一件坏事,因为很明显 Homebrew 安装已经以某种方式或某事搞砸了。换句话说,很可能存在其他变量(例如放错位置的库),这将导致进一步的痛苦。
首先,有两个 brew 命令在调试问题时很有帮助。它们是:
$ brew doctor
$ brew missing
其次,Homebrew 告诉您/usr/local/bin 设置为对谁可以写入该目录过于宽容——这是一个潜在的安全问题。要解决此问题,您可以将权限重置为 Homebrew 的预期。
$ chmod 755 /usr/local/bin
如果您在尝试执行此操作时遇到错误,这可能意味着您的 /usr/local 目录(和子目录)归错误的用户所有。如果是这种情况,我会考虑删除您的 /usr/local 目录和 reinstalling Homebrew correctly。或者,您可以通过在最后一个命令前加上 sudo 并输入您的管理员密码来覆盖错误:
$ sudo chmod 755 /usr/local/bin
【讨论】:
/usr/local 是一个糟糕的建议。
/usr/local 开始。 /usr/local 中的权限设置不正确这一事实表明 Homebrew 一开始就安装不正确。在这种情况下,从头开始并不是一件坏事。