ruby - PATH 中的不安全世界可写目录/用户/用户名,运行 Ruby 命令时模式 040777

标签 ruby macos permissions path

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

/Users/kristoffer/.rvm/rubies/ruby-1.9.2-p180/bin/gem:4: warning: Insecure world writable dir /Users/kristoffer in PATH, mode 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

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

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

最佳答案

您的主文件夹应该只能由您写入,不能由任何其他人写入。 gem 提示这个的原因是你的 PATH 中有文件夹在你的(不安全的)主文件夹中,这意味着任何想要攻击你的人都可以通过重命名/移动你的 .rvm 文件夹并将它替换为冒名顶替者来破解你.

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

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

关于ruby - PATH 中的不安全世界可写目录/用户/用户名,运行 Ruby 命令时模式 040777,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6192003/

相关文章:

sql - ActiveRecord has_many 通过多态 has_many

ruby-on-rails - 如何覆盖 rails 模型中的 class_method 问题

swift - Label 和 ProgressBar 不会更新 macOS Swift

读取时出现 Python 权限错误

android - 是否可以从 Android 应用程序中删除权限?

ruby - 如何在 sinatra 应用程序中使用 html_escape 文本数据?

ios - RubyMotion 必备的库有哪些?

swift - 子类化 NSControl,IBAction 在 Swift 中不被调用

macos - 使用 FFmpeg 从 Mac 流式传输网络摄像头

permissions - 使用特定用户的Linux挂载NFS