PATH、レールおよびgemのモード040777で「Insecureworld writable dir / home / chance」という警告が表示されます


84

私はこれを試しましたが、機能せず、osx用のようでした。rvm、rails 3、ruby1.9.2を使用してUbuntu10.10を新しくインストールしました。新しいRailsアプリを持っていますが、gemまたはrailsのいずれかを使用すると、次の警告が表示されます(ラグあり)。

$ rails -v

/home/chance/.rvm/gems/ruby-1.9.2-p180@global/gems/railties-3.0.5/lib/rails/script_rails_loader.rb:11: warning: Insecure world writable dir /home/chance in PATH, mode 040777
/home/chance/.rvm/gems/ruby-1.9.2-p180@global/gems/bundler-1.0.10/lib/bundler/runtime.rb:136: warning: Insecure world writable dir /home/chance in PATH, mode 040777
Rails 3.0.5

$ gem -v

/home/chance/.rvm/rubies/ruby-1.9.2-p180/bin/gem:4: warning: Insecure world writable dir /home/chance in PATH, mode 040777
1.6.2

重要な場合に備えて、これが私のGemfileです。

source 'http://rubygems.org'

gem 'rails'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'sqlite3'
gem 'sqlite3-ruby', :require => 'sqlite3'
gem "haml"
gem "formtastic"
gem "will_paginate"
gem "devise"
gem "delayed_job"
gem "whenever"
gem "memcache-client"
gem "capistrano"
group :testing do
  gem "rspec"
  gem "rspec-rails"
  gem "autotest-standalone"
  gem "autotest-rails"
  gem "autotest-growl"
  gem "mocha"
  gem "shoulda"
  gem "factory_girl_rails"
end

group :development do
  gem "cheat"
  gem "bullet"
  gem "ruby-growl"

end

同じ解決策であれば、stackoverflow.com / questions / 5360327 /にも賞金があります。サーバーが実際に起動するので、同じ問題かどうかわかりませんでした。(Im a * nix newb)
チャンス

1
他の質問の答えを試したと言ったとき、そこで提案されているコマンドを使用しましたsudo chmod go-w /usr/local/binか?もしそうなら、chmod go-w /home/chance代わりに試してみてください。
マット2011年

マット、あなたは実際にそれで答えることができますか?それはばかげた質問でしたが、/ usr / local / binが黙って失敗したので、chmodが通過したと思いました。ありがとう。
チャンス


/ usr / libで上記のエラーが発生します-また、Root以外のユーザーの権限がないため、chmodgo-wを実行することもできません。何らかの理由で、ルートに入ることができません。したがって、無視する以外の解決策は何ですか?
Chaitanya Bapat 2017年

回答:


188

sudo chmod go-w /usr/local/bin他の答えから試した場合は、次のことを試してください。

chmod go-w /home/chance

代わりに。

どういうわけかあなたのホームディレクトリ(/home/chance)があなた$PATH(OSが起動する実行可能ファイルを見つけようとするときに検索するディレクトリのリスト)に追加され、誰でも書き込めるように権限が変更されたようです。別のユーザーが実行可能ファイルをこのディレクトリに配置し、誤って起動する可能性があるため、これは潜在的なセキュリティ問題です。Rubyはこれに気づき、警告を発します。

このコマンドは、ディレクトリのアクセス許可を変更して、誰でも書き込みできないようにします。

UNIXでは、ファイルのアクセス許可は、ファイルの所有者(ユーザー)、ファイルのグループ(グループ)、およびその他すべてのユーザー(その他)の3つのカテゴリーに指定されます。(UNIXファイルのパーミッションの詳細についてはGoogleを参照してください)。

したがって、上記のコマンドを分解します。

chmod -ファイルの「モード」(つまり、そのアクセス許可)を変更します

go -グループ(g)およびその他(o)の場合

-w -(マイナスw)書き込み権限を削除します

/home/chance -問題のファイル(またはディレクトリ)

もう1つの回答では、問題の原因となったディレクトリはでした/usr/local/bin。これはrootが所有しているため、sudoアクセス許可を変更する必要があります。/home/chanceは、chanceアクセス許可を変更できるユーザーが所有するホームディレクトリsudoです。必須ではありません。


私は上のLubuntu 16.04警告を持つ:Insecure world writable dir /tmp/. in PATH, mode 041777また、警告の無限ループを引き起こしていました。次にsudo chmod go-w /tmpコマンドを実行すると、問題が解決しました。
ステファン

38

ターミナルが提供するパスにchmodgo-wを使用します。

したがって、エラーメッセージのパスとして/ usr / localと表示されている場合:

warning: Insecure world writable dir /usr/local in PATH, mode 040777

あなたが書く

chmod go-w /usr/local

22

私は-Rを使用して私の修正をしなければなりませんでした:

chmod -R go-w /Users/username

何をしているのかわからない場合は、sudoを使用しないでください。(あなたは内のすべてのフォルダのアクセス権を確認しています)
QWR

9

(Macを使用している場合)ディスクユーティリティの[ディスクのアクセス許可を修復する]オプションを試してください

ここに画像の説明を入力してください

おそらく、詳細ログの数行は次のようになります。

Permissions differ on “usr”; should be drwxr-xr-x ; they are drwxrwxrwx.
Repaired “usr”

4
質問のタグはMacではなくLinuxです。しかし、このスレッドは最初のGoogleヒットであり、私はMacを使用しているので、これでうまくいきました。Canonical Macは、ここで同じ質問に答えます
Bluu 2014年

5

私はMacを使用しているので、/ home / usernameは機能しませんでした。ただし、/ User / usernameのアクセス許可を変更しようとすると、エラーが解決しませんでした。

それを機能させたのは chmod go-w /User/username/.rvm


1
これは、問題が/ User / usernameまたは〜(ホーム)フォルダーからではなく、/ usrフォルダーから発生しているためです。
エドゥアルド崇龕2015

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.