每次我运行这个命令 rails server
:
警告:路径变量中的 /usr/local/bin 目录权限是不安全的,模式为 040777
我在这里查找了解决方案,他们建议输入:chmod go-w /usr/local/bin
但是我得到了这个错误:
chmod: 无法更改 /usr/local/bin 文件的权限:Operation not permitted
顺便说一下,我正在使用 OS X。
每次我运行这个命令 rails server
:
警告:路径变量中的 /usr/local/bin 目录权限是不安全的,模式为 040777
我在这里查找了解决方案,他们建议输入:chmod go-w /usr/local/bin
但是我得到了这个错误:
chmod: 无法更改 /usr/local/bin 文件的权限:Operation not permitted
顺便说一下,我正在使用 OS X。
您需要具有root访问权限才能执行此操作。如果您不是管理员用户,请以管理员身份登录。然后使用“sudo”更改权限:
sudo chmod go-w /usr/local/bin
很明显,这意味着你不能再通过除'sudo'以外的方式在/usr/local/bin中安装软件包,但实际上你可能也不应该这么做。
thin start
命令时,它仍然给我那个消息。我错过了什么吗?顺便说一下,chmod
命令似乎已经成功运行了。我甚至在提示时输入了我的管理员密码,它也通过了。我错过了什么吗?我需要重新启动电脑吗?我已经停止并重新启动了服务器。 - marcamillion/usr/local/bin
上的权限,如果有的话,也许还要查看ACL值。 - Jonathan Leffler我在MacOSX 10.6.8上遇到了同样的错误 - 看起来Ruby会检查路径中是否有任何目录(包括父目录)是全局可写的。在我的情况下,由于没有任何程序创建/usr/local/bin目录,因此需要手动创建它。
所以我执行了以下命令:
sudo chmod 775 /usr/local
为了消除警告。
这里的问题是,MacOS中是否有任何非root:wheel进程需要在/usr/local中创建任何内容?
775 => 根用户(7) 组用户(7) 其他用户(5),7 => 读取(4) + 写入(2) + 执行(1),5 => 读取(4) + 执行(1)
- crizCraigsudo chmod go-w /usr/local/bin
/usr/local/bin目录属于root(即管理员)帐户所有,因此即使您可以向其写入,也不能更改其权限。 sudo命令意味着“以root身份运行以下命令”,并且功能与在系统偏好设置对话框中单击锁定图标非常相似。我在OSX中遇到了同样的问题。可以通过运行磁盘工具来修复权限来解决它。我同意Peter Nixey的观点:在我的情况下,当我的3G dongle安装或重新安装其驱动程序时会引起这个问题。之后修复权限可以解决这个问题。
我也遇到了同样的问题,显然我的/usr/local文件夹是全局可写的,所以我将其修改为755。
# chmod 755 /usr/local
同时,似乎我使用过的华为移动蛋(dongle)也在 /usr/local 中安装了可被全局写入的目录。
sudo chmod o-w -R /usr/local
sudo chmod -R o-w /usr/local/
。 - bormatsudo chmod -R o-w /usr/local/bin
如果你正在运行OSX并经常遇到这种情况,考虑使用内置的OSX权限修复工具是个好主意。如果你没有改变目录的模式,那么其他东西可能会改变它们的权限,而且其他目录也可能有过于宽松的权限 - 这个工具将把它们全部重置为出厂默认值,这是一个很好的安全建议。在Apple stackextange上有一篇关于这个过程的指南。
我也遇到了类似的问题。我在Ubuntu 12上使用KDE,在我的家目录中玩耍时,不小心通过右键单击我的家目录,然后选择属性,将组和其他用户的权限更改为“可以查看和修改内容”,然后就忘记了这件事。
我的警告是:
warning: Insecure world writable dir /home/my_home_folder in PATH, mode 040777
在我的情况下,是主目录出了问题。我撤销了权限修改并停止在运行Rails服务器或运行测试的rake任务时收到警告。