警告:PATH模式040777下不安全的世界可写目录/ usr / local / bin


172

每次我运行以下命令rails server

警告:PATH模式040777下不安全的世界可写目录/ usr / local / bin

我在这里搜索解决方案,他们说键入: chmod go-w /usr/local/bin

但是我得到这个错误:

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

我正在使用OSX。


7
在为T-Mobile宽带USB加密狗安装软件后,我也遇到了同样的问题,并且想知道它是否对此负责。您是否还使用加密狗?
Peter Nixey

5
是的,我在安装了Virgin(Australia)移动USB加密狗之后得到了它
nocache

3
我的天,真的吗?感谢您提供此信息!我还注意到,在尝试运行T-Mobile加密狗软件后,它获得了我的许可。
Oto Brglez 2013年

我使用的是AU(日本运营商)生产的LTE加密狗,它也需要一些命令行
向导

Answers:


278

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

sudo chmod go-w /usr/local/bin

显然,这意味着您将不能再通过'sudo'在/ usr / local / bin中安装材料,但是您可能无论如何都不应该这样做。


如果我输入上面的命令,则会得到:sudo:/ etc / sudoers为
0644

@Xandman:我不知道细分错误是怎么回事;程序不应该这样做(尤其是与安全性无关的程序,例如sudo)。显然,有人在篡改您系统上的文件权限-我建议您阅读他们的防暴法。同时,您可能会遇到鸡和蛋的情况。您必须先修复/ etc / sudoers上的权限,然后才能使用'sudo',并且不使用'sudo'就不能修复/ etc / sudoers上的权限。我不确定最好的解决方法是什么...
Jonathan Leffler

1
我想那我应该上吊了。自从Windows切换以来,我一直在修改MAC。试图使其成为Windows笔记本电脑。我可能做过一些愚蠢的事
Xandman,2010年

1
感谢Jonathan的评论,您给了我一个检查权限的想法。我使用“磁盘工具”修复了权限,并且在运行命令时:sudo chmod go-w / usr / local / bin无法通过。
Xandman

@Xandman:除非您证明自己是屡犯,否则无需绞刑。您说“它不会通过”-以什么方式不起作用?使用“ sudo”,您提供您自己的密码(使用“ su”,您提供目标用户的密码-通常为root)。为了解决这些问题,您可能需要启用root登录(以管理员身份,系统偏好设置为IIRC),并以root身份进入修复权限。这确实假设您现在已经足够了解不会意外地将自己吊死。或者从头开始重做安装可能更好;这取决于您修改了多少权限。
乔纳森·莱夫勒

63

我在MacOSX 10.6.8中遇到了相同的错误-似乎ruby检查路径中是否有可写的目录(包括父目录)。在我的情况下,不存在/ usr / local / bin,因为没有创建它。

所以我要做

sudo chmod 775 /usr/local

摆脱警告。

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


9
是的775 => root(7) group(7) others(5), 7 => read(4) + write(2) + execute(1), and 5 => read(4) + execute(1)
CrizCraig 2014年

8

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

/ usr / local / bin目录由root(即管理员)帐户拥有,因此即使您可以对其进行写入,也无法更改其权限。该sudo命令的意思是“以root用户身份运行以下命令”,其工作原理与在“系统偏好设置”对话框中单击该锁定图标非常相似。


7

我在OSX中遇到过同样的问题。可以通过运行“磁盘实用程序以修复权限”来修复它。我同意Peter Nixey的观点:就我而言,这是我的3G软件狗安装或重新安装其驱动程序时引起的。之后修复权限可以解决此问题。


7

我正在使用山狮。我所做的是查找/ usr / local并获取信息。它上面有共享和权限。确保只有用户和管理员才具有读取和写入权限。其他任何人都应该只有读权限。那解决了我的问题。

通常,它也有助于您运行磁盘实用程序和修复权限。


3

同样在这里,显然我的/ usr / local文件夹是世界可写的,所以我使它成为755

# chmod 755 /usr/local

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




2

甚至我也遇到类似的问题。我在ubuntu 12上使用KDE,并且在我的主文件夹中玩耍时,我不小心将“组”和“其他”权限更改为“可以查看和修改内容”,方法是右键单击我的主文件夹,然后单击属性并忘记了所有内容。

我的警告是:

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

因此,就我而言,它是主文件夹。我确实取消了对权限的修改,并且在运行Rails服务器或rake任务运行测试时停止了收到这些警告。


1

我在OSX Snow lepard上的/ usr / local / bin和/ etc / sudoers也遇到了完全相同的问题。即使当我以管理员身份登录并尝试通过终端更改权限时,它仍然显示“操作不正确”。允许”。我做了以下工作以获取这些文件夹的许可。

从终端,我访问了/ etc / sudoers文件,并使用pico编辑器添加了以下代码:username ALL =(ALL)ALL用您的MAC OS帐户名替换“用户名”


0

我在MacOSX 10.11上遇到了相同的错误-似乎ruby检查路径中是否有可写的目录(包括父目录)。在我的情况下,不存在/ usr / local / bin,因为没有创建它。

在终端中运行此命令。尝试此sudo chmod 775 / usr / local在此之后,如果您的Mac上有任何密码,则必须输入密码。现在,此问题将得到解决。


0

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.