当我运行像 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/