ChatGPT解决这个技术问题 Extra ChatGPT

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

每次我运行这个命令 rails server

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

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

但我得到这个错误:

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

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

在为 T-Mobile 宽带 USB 加密狗安装软件后,我遇到了同样的问题,我想知道它是否负责这样做。您是否也使用加密狗?
是的,我在安装 Virgin(澳大利亚)移动 USB 加密狗后得到它
我的天啊,真的吗?感谢您提供此信息!我还注意到,在我尝试运行 T-Mobile 加密狗软件后,它获得了我的权限。
我正在使用 AU(日本运营商)的 LTE 加密狗,它还需要一些命令行魔法才能开始工作......

J
Jonathan Leffler

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

sudo chmod go-w /usr/local/bin

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


如果我输入上面的命令,我得到: sudo: /etc/sudoers is mode 0644, should be 0440 Segmentation fault
@Xandman:我不知道分段错误是怎么回事;程序不应该这样做(尤其是与安全相关的程序,如 sudo)。显然,有人篡改了您系统上的文件权限——我建议您阅读他们的暴动行为。同时,您可能面临先有鸡还是先有蛋的情况;在修复 /etc/sudoers 的权限之前,您不能使用 'sudo',并且如果不使用 'sudo',就无法修复 /etc/sudoers 的权限。我不确定最好的解决方法是什么...
我想我应该上吊自己。自从我从 Windows 切换后,我一直在修补我的 MAC。试图使它成为一台 Windows 笔记本电脑。我可能做了一些愚蠢的事情
感谢乔纳森的评论,你给了我一个检查权限的想法。我用磁盘工具修复了权限,当我运行命令时: sudo chmod go-w /usr/local/bin 它不会通过。
@Xandman:在您证明自己是惯犯之前,无需绞刑。您说“它不会通过”-它以什么方式不起作用?使用“sudo”,您提供自己的密码(使用“su”,您提供目标用户的密码 - 通常是 root)。要解决其中的一些问题,您可能需要启用 root 登录(系统偏好设置为管理员,IIRC),并以 root 身份修复权限。那确实假设您现在知道足够多,不会意外上吊自己。或者从头开始重新安装可能会更好;这取决于您修改了多少权限。
V
Victor Bjelkholm

我在这里 MacOSX 10.6.8 遇到了同样的错误 - 似乎 ruby 检查路径中的任何目录(包括父目录)是否是世界可写的。就我而言,没有 /usr/local/bin 存在,因为没有任何东西创建它。

所以我不得不做

sudo chmod 775 /usr/local

摆脱警告。

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


是的,775 => root(7) group(7) others(5), 7 => read(4) + write(2) + execute(1), and 5 => read(4) + execute(1)
J
Jander

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

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


L
Larry Hynes

我在 OSX 中遇到了同样的问题。它可以通过运行磁盘实用程序来修复权限来修复。我同意 Peter Nixey 的观点:在我的情况下,这是由于我的 3G 加密狗安装或重新安装其驱动程序造成的。之后修复权限可解决此问题。


M
Muendo

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

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


M
Mister P

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

# chmod 755 /usr/local

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


C
Community

如果您正在运行 OSX 并且经常遇到这种情况,那么要考虑的另一件好事是使用内置的 OSX 权限修复工具。如果你没有改变你的目录的模式,其他的东西做了,并且有可能其他目录也有过度的权限——这个工具会将它们全部重置为出厂默认值,这是一个很好的安全想法。 There's a great guide on the Apple stackextange about this very process


J
Jai Chauhan

你需要跑

sudo chmod o-w -R /usr/local 

对我来说 -R 必须直接在 chmod sudo chmod -R o-w /usr/local/ 之后
a
arkiver

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

我的警告是:

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

所以就我而言,它是主文件夹。我确实撤消了权限的修改,并且在运行 rails 服务器或 rake 任务以运行我的测试时不再收到这些警告。


S
Sayanee

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

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


a
aphexlog

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


M
Mandeep Singh

我在 MacOSX 10.11 遇到了同样的错误 - 似乎 ruby 检查路径中的任何目录(包括父目录)是否是世界可写的。就我而言,没有 /usr/local/bin 存在,因为没有任何东西创建它。

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