运行 Ruby 命令时,PATH 中不安全的世界可写目录 /Users/username,模式 040777

Posted

技术标签:

【中文标题】运行 Ruby 命令时,PATH 中不安全的世界可写目录 /Users/username,模式 040777【英文标题】:Insecure world writable dir /Users/username in PATH, mode 040777 when running Ruby commands 【发布时间】:2011-09-05 17:27:03 【问题描述】:

当我运行像 gem -v 这样的 Ruby 命令时,我得到了这个错误:

/Users/kristoffer/.rvm/rubies/ruby-1.9.2-p180/bin/gem:4: 警告:不安全的世界可写目录 PATH 中的 /Users/kristoffer,模式 040777

1.6.2

首先我不明白这是什么意思。根据echo $PATH,/Users/kristoffer 不在我的路径中。 echo $PATH 的结果是:

/Users/kristoffer/.rvm/gems/ruby-1.9.2-p180/bin:/Users/kristoffer/.rvm/gems/ruby-1.9.2-p180@global/bin:/Users/kristoffer/ .rvm/rubies/ruby-1.9.2-p180/bin:/Users/kristoffer/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr /X11/bin

如您所见,PATH 非常干净。只是默认路径 + RVM 添加的内容。

我看过其他类似的帖子,其中推荐的解决问题的方法是运行chmod go-w path/to/folder

但是,我很确定让我的主文件夹不可写是个坏主意,对吧?我已经使用磁盘工具修复了权限,它没有发现我的主文件夹的权限有任何问题。

知道问题是什么以及如何解决它吗?

【问题讨论】:

我认为你绝对不希望你的主目录是世界可写的。运行 chmod 将是一个好主意。由于您的主目录是世界可写的,因此可以修改该目录下的任何文件夹(其中几个在您的路径中),所以也许这就是您收到该错误的原因。 【参考方案1】:

您的主文件夹应该只能由您写入,不能由其他任何人写入。 gem 抱怨此问题的原因是您的 PATH 中有位于(不安全的)主文件夹中的文件夹,这意味着任何想要通过重命名/移动您的 .rvm 文件夹并将其替换为冒名顶替者的人都可以破解您.

要修复您的主文件夹,请运行 chmod go-w /Users/kristoffer。如果在通往 PATH 中任何内容的途中还有任何其他不安全的文件夹,您应该以类似方式修复它们。

顺便说一句,磁盘工具没有修复它的原因是它只修复作为操作系统的一部分安装的文件(请参阅Apple's KB article on the subject)。如果您从安装 DVD 启动并从实用程序菜单运行密码重置,则可以选择修复主文件夹权限,但我不确定它是自行重置权限还是仅重置所有权。

【讨论】:

啊,谢谢!这解决了问题。我担心运行chmod go-w,因为我认为它删除了所有用户的写权限,包括我。 这不应该有一个 -R 用于递归吗? @Mike:不,这会破坏任何本应由其他人写入的文件夹(主要是 ~/Public/Drop Box)。如果他家中有任何其他可写不当的文件夹,它们也必须修复,但-R 将(有点)矫枉过正。 我运行chmod go-w /Users/[my name],但我得到了消息chmod: cannot access '/Users/[my name]': No such file or directory @Ckt22 您需要使用主目录的实际路径。您可以使用echo ~ 打印路径,或者只使用chmod go-w ~,它应该会为您处理好。【参考方案2】:

我一直在提示中收到这个。

我的命令提示符无法完全正确,但这最终起作用了。

【讨论】:

感谢截图!有用。当我以某种方式将 HDD 迁移到 SSD 时,“每个人”都可以读写我的用户文件夹。将所有人切换到无访问权限可修复警告。【参考方案3】:

最近这只是发生在我身上,它与升级到 Mac OSX 10.9.3 时的一个错误有关。看起来升级将权限更改为用户文件夹。这是一个解释和修复:

http://derflounder.wordpress.com/2014/05/16/users-folder-being-hidden-with-itunes-11-2-installed-and-find-my-mac-enabled/

【讨论】:

【参考方案4】:
chmod 755 /Users/<username>

应该解决问题...

【讨论】:

我运行chmod 755 /Users/[my name],但我得到了消息chmod: cannot access '/Users/[my name]': No such file or directory【参考方案5】:

它说目录用户/用户名是不安全的,你可以通过运行来修复它 sudo chmod go -w 用户/用户名

【讨论】:

【参考方案6】:

我找到了解决方案。像 user2952657 一样,我在升级到 OSX 10.9.3 后收到了 vagrant up 的警告。我只需将 iTunes 更新到 11.2.1 即可停止警告。

【讨论】:

以上是关于运行 Ruby 命令时,PATH 中不安全的世界可写目录 /Users/username,模式 040777的主要内容,如果未能解决你的问题,请参考以下文章

Docker 命令在 Windows 上的 Git Bash 中不起作用(执行:“com.docker.cli”:在 %PATH% 中找不到可执行文件)

找不到该命令,因为 PATH 环境变量中不包含“/snap/bin”

exe 文件在 C++ 中不被识别为内部或外部命令、可运行程序或批处理文件

改变 windows ruby 的默认版本

Ruby 测试期望运行一个命令

gulp-ruby-sass - 'sass' 不是内部或外部命令、可运行程序或批处理文件