[ruby-on-rails] PATH, rails 및 gem의 경우 모드 040777에서“Insecure world writable dir / home / chance”경고 받기

나는 해봤 있지만 작동하지 않았다 및 OSX이 될 것 같았다. rvm, rails 3 및 ruby ​​1.9.2와 함께 새로운 Ubuntu 10.10을 설치했습니다. 새로운 rails 앱이 있지만 gem 또는 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



답변

sudo chmod go-w /usr/local/bin다른 답변에서 시도한 경우 다음을 시도 하십시오.

chmod go-w /home/chance

대신.

무슨 일이 있었는지 어떻게 든 홈 디렉토리 ( /home/chance)가 $PATH(OS가 실행할 실행 파일을 찾으려고 할 때 검색하는 디렉토리 목록 )에 추가되었으며 누구나 쓸 수 있도록 권한이 변경되었습니다. 다른 사용자가 실수로 실행할 수있는 실행 파일을이 디렉토리에 넣을 수 있으므로 보안 문제가 될 수 있습니다. Ruby는이를 인식하고 경고를 발행합니다.

이 명령은 더 이상 세계에서 쓸 수 없도록 디렉토리의 권한을 변경합니다.

유닉스에서는 파일 소유자 (사용자), 파일 그룹 (그룹) 및 기타 모든 사람 (기타)의 세 가지 범주에 대해 파일 권한이 지정됩니다. (유닉스 파일 권한에 대한 자세한 내용은 Google을 참조하십시오).

따라서 위의 명령을 분해합니다.

chmod -파일의 ‘모드’변경 (즉, 권한)

go -그룹 (g) 및 기타 (o)

-w -(w 빼기) 쓰기 권한 제거

/home/chance -문제의 파일 (또는 디렉토리)

다른 답변에서 문제를 일으킨 디렉토리는 /usr/local/bin루트가 소유하고 있으므로 sudo권한을 변경해야합니다. 권한을 변경할 수 /home/chance있는 chance사용자 가 소유 한 홈 디렉토리입니다 sudo. 필요 하지 않습니다.


답변

당신이 사용하는 이동-w chmod를 터미널 당신을주는 어떤 경로를.

따라서 오류 메시지의 경로로 / usr / local이라고 표시되면 :

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

당신은 쓰기

chmod go-w /usr/local


답변

내 문제를 해결하기 위해 -R을 사용해야했습니다.

chmod -R go-w /Users/username


답변

(Mac을 사용하는 경우) 디스크 유틸리티에서 “디스크 권한 복구”옵션을 사용해보십시오.

여기에 이미지 설명 입력

세부 정보 로그에 다음과 같은 내용이 표시 될 것입니다.

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


답변

나는 Mac을 사용하고 있으므로 / home / 사용자 이름 이 작동하지 않았습니다. 그러나 / User / username에 대한 권한을 변경하려고 할 때 오류가 계속 발생했습니다.

작동하게 한 것은 chmod go-w /User/username/.rvm


답변

사용자 환경에서이 오류를 올바르게 수정할 수없는 경우 (예 : Ruby가 네트워크 공유 또는 일부에 있음) 오류를 억제하는 방법이 답변을 참조하십시오 .


답변