警告: 模式为040777的 PATH 中不安全的世界可写的 dir/usr/local/bin

每次我运行这个命令 rails server:

警告: 模式为040777的 PATH 中不安全的世界可写的 dir/usr/local/bin

我在这里寻找一个解决方案,他们说输入: chmod go-w /usr/local/bin

但我得到了这个错误:

Chmod: 无法更改/usr/local/bin 上的文件模式: 操作不允许

顺便说一下,我正在使用 OS X。

144020 次浏览

您需要具有 root 访问权限才能执行此操作。如果您还不是管理员用户,请以管理员身份登录。然后使用“ sudo”更改权限:

sudo chmod go-w /usr/local/bin

显然,这意味着除了通过“ sudo”之外,您不能再在/usr/local/bin 中安装材料,但是您可能不应该这样做。

试试: sudo chmod go-w /usr/local/bin

Usr/local/bin 目录由 root(即管理员)帐户所有,因此即使您可以写入它,也不能更改对它的权限。sudo命令意味着“以 root 用户身份运行以下命令”,其工作原理与单击系统首选项对话框中的锁图标非常相似。

在 OSX Snow lepard 上的/usr/local/bin 和/etc/sudoers 也有同样的问题。即使我以管理员身份登录,并试图通过终端更改权限,它仍然显示“操作不允许”。为了得到这些文件夹的许可,我做了以下事情。

在终端中,我访问了/etc/sudoers 文件,并使用 pico 编辑器添加了以下代码: 用户名 ALL = (ALL) ALL 用你的 MAC 操作系统帐户名替换“用户名”

我在 MacOSX 10.6.8这里也有同样的错误-看起来 Ruby 检查路径中是否有任何目录(包括父目录)是世界可写的。在我的例子中,没有出现/usr/local/bin,因为没有任何东西创建它。

所以我不得不这么做

sudo chmod 775 /usr/local

来摆脱警告。

这里的一个问题是,MacOS 中的任何非 root: 毂进程是否需要在/usr/local 中创建任何内容?

我在 OSX 也遇到过同样的问题。可以通过运行磁盘实用程序来修复权限。我同意 Peter Nixey 的观点: 在我的案例中,这是由于我的3G 加密狗安装或重新安装了它的驱动程序。随后修复权限将修复该问题。

我用的是美洲狮。我所做的就是查找/usr/local 和获取信息。上面有共享和权限。确保只有用户和管理员有读写权限。其他任何人都应该只读访问。我的问题解决了。

它通常对您的运行磁盘实用程序和修复权限也很有帮助。

我也遇到过类似的问题。我在 ubuntu 12上使用 KDE,当我在我的主文件夹里玩的时候,我意外地改变了 Group 和 Other 的权限,因为我可以通过右键点击我的主文件夹,然后属性来“查看和修改内容”,然后忘记了所有这些。

我的警告是:

warning: Insecure world writable dir /home/my_home_folder in PATH, mode 040777

所以对我来说,是家庭文件夹。我撤销了对权限的修改,并且在运行 Railsserver 或 rake 任务以运行测试时停止获得这些警告。

这里也是一样,显然我的/usr/local 文件夹是全局可写的,所以我把它设置为755

# chmod 755 /usr/local

我使用的 Hauwei 移动加密器似乎也在/usr/local 中安装了世界可写目录

如果您正在运行 OSX 并且经常遇到这种情况,另一个需要考虑的好事情是使用内置的 OSX 权限修复工具。如果您没有改变目录的模式,那么其他目录就改变了,而且其他目录也有可能拥有过多的权限——这个工具会将它们全部重置为工厂默认值,这是一个很好的安全主意。关于这个过程,有一个很好的苹果堆栈指南.

我在 MacOSX 10.11这里也有同样的错误——它似乎是用 ruby 检查路径中的任何目录(包括父目录)是否是全局可写的。在我的例子中,没有出现/usr/local/bin,因为没有任何东西创建它。

在你的终端运行这个命令。试试这个 Sudo chmod 775/usr/local 之后,如果你有任何密码在你的 Mac,然后你必须输入密码。现在这个问题将得到解决。

这应该可以解决您的问题: chmod go-w {/path/of/user}

你得快跑

sudo chmod o-w -R /usr/local

在 macOS 中,在终端中运行以下命令

sudo chmod -R o-w /usr/local/bin