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


84

나는 해봤 있지만 작동하지 않았다 및 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

또한 동일한 솔루션 인 경우 stackoverflow.com/questions/5360327/…에 대한 현상금이 있습니다. 내 서버가 실제로 시작되어 동일한 문제인지 몰랐습니다. (Im a * nix newb)
Chance

1
다른 질문에서 답을 시도했다고 말했을 때 거기에 제안 된 명령을 사용 sudo chmod go-w /usr/local/bin했습니까? 그렇다면 chmod go-w /home/chance대신 시도하십시오 .
matt

맷, 실제로 대답 할 수 있습니까? 어리석은 질문 이었지만 / usr / local / bin이 조용히 실패했기 때문에 chmod가 통과했다고 생각했습니다. 고마워요.
Chance


/ usr / lib에 대해 위의 오류가 발생했습니다. 루트 이외의 사용자에 대한 권한이 없으므로 chmod go-w를 수행 할 수도 없습니다. 어떤 이유로 루트에 들어갈 수 없습니다. 그렇다면 무시하는 것 외에 다른 해결책은 무엇일까요?
Chaitanya Bapat 2017 년

답변:


188

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. 필요 하지 않습니다.


내가에 Lubuntu 16.04경고를 갖는 Insecure world writable dir /tmp/. in PATH, mode 041777또한 경고에 무한 루프가 발생했다. 그런 다음 sudo chmod go-w /tmp명령 을 실행 하고 문제가 해결되었습니다.
Stephane

38

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

따라서 오류 메시지의 경로로 / 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을 사용하고 있습니다. 여기에 동일한 질문에 대한 정식 Mac 답변이 있습니다 .
Bluu

5

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

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


1
이는 문제가 / User / username 또는 ~ (home) 폴더가 아닌 / usr 폴더에서 발생하기 때문입니다.
Eduardo Chongkan 2015

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.