web-dev-qa-db-ja.com

PATHで「Insecure world writable dir / home / chance」という警告が表示されるRails and gem

this を試しましたが、機能せず、osx向けのようです。 rvm、Rails 3およびRuby 1.9.2を使用してUbuntu 10.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
78
Chance

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

chmod go-w /home/chance

代わりに。

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

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

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

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

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

go-group(g)およびothers(o)の場合

-w-(マイナスw)書き込み許可の削除

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

他の答えでは、問題を引き起こしていたディレクトリは/usr/local/binでした。これはルートが所有しているため、Sudoはそのアクセス許可を変更するために必要です。 /home/chanceは、アクセス許可を変更できるchanceユーザーが所有するホームディレクトリです。Sudoは不要です。

179
matt

chmod go-wを使用して、ターミナルが提供する任意のパスを指定します。

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

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

あなたが書く

chmod go-w /usr/local
34
Temo Dape

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

chmod -R go-w /Users/username
20
bryanus

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

enter image description here

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

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

私はMacにいるので、/ home /usernameは機能しませんでした。ただし、/ User /usernameの権限を変更しようとすると、エラーが続きました。

動作したのはchmod go-w /User/username/.rvm

3
Pablo Marambio

ご使用の環境でこのエラーを適切に修正できない場合(つまり、Rubyネットワーク共有などに存在します)、 エラーを抑制する方法についてのこの回答 =。

2
Connor McKay