[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