รับคำเตือน "Insecure world writable dir / home / Chance" ใน PATH โหมด 040777 สำหรับรางและอัญมณี


85

ฉันได้ลองสิ่งนี้แล้วแต่มันไม่ได้ทำงานและดูเหมือนจะเป็น OSX ฉันมีการติดตั้ง Ubuntu 10.10 ใหม่พร้อม rvm, ราง 3 และ Ruby 1.9.2 ฉันมีแอปรางใหม่ แต่การใช้อัญมณีหรือรางทำให้เกิดคำเตือนต่อไปนี้ (มีความล่าช้า)

$ ราง -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

$ อัญมณี -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แทน
แมต

แมตต์คุณช่วยตอบได้จริงหรือ? มันเป็นคำถามโง่ ๆ แต่ / usr / local / bin ล้มเหลวโดยเงียบดังนั้นฉันคิดว่า chmod ผ่านไป ขอบคุณคน
โอกาส

อาจซ้ำกันของคำเตือน Insecure world writable dir
kenorb

ฉันได้รับข้อผิดพลาดข้างต้นสำหรับ / usr / lib - และไม่สามารถแม้แต่จะดำเนินการ chmod go-w เนื่องจากไม่ได้รับอนุญาตสำหรับผู้ใช้อื่นที่ไม่ใช่รูท ด้วยเหตุผลบางประการฉันไม่สามารถเข้าสู่รูทได้ ดังนั้นวิธีแก้ปัญหาตอนนี้คืออะไรนอกจากเพิกเฉย?
Chaitanya Bapat

คำตอบ:


188

หากคุณลองsudo chmod go-w /usr/local/binจากคำตอบอื่นให้ลอง:

chmod go-w /home/chance

แทน.

สิ่งที่ดูเหมือนจะเกิดขึ้นคือโฮมไดเร็กทอรีของคุณ ( /home/chance) ถูกเพิ่มลง$PATHในรายการของคุณ(รายการไดเร็กทอรีที่ระบบปฏิบัติการค้นหาเมื่อพยายามค้นหาไฟล์ปฏิบัติการเพื่อเรียกใช้งาน) และยังมีการเปลี่ยนแปลงสิทธิ์เพื่อให้ทุกคนสามารถเขียนได้ นี่อาจเป็นปัญหาด้านความปลอดภัยเนื่องจากผู้ใช้รายอื่นสามารถใส่ไฟล์ปฏิบัติการลงในไดเร็กทอรีนี้ซึ่งคุณอาจเปิดโดยไม่ได้ตั้งใจ Ruby สังเกตเห็นสิ่งนี้และออกคำเตือน

คำสั่งนี้เปลี่ยนสิทธิ์ของไดเร็กทอรีเพื่อไม่ให้เขียนได้อีกต่อไป

ใน unix จะมีการระบุสิทธิ์ของไฟล์สำหรับสามประเภทคือเจ้าของไฟล์ (ผู้ใช้) กลุ่มของไฟล์ (กลุ่ม) และคนอื่น ๆ (อื่น ๆ ) (ดู Google สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการอนุญาตไฟล์ Unix)

ดังนั้นการทำลายคำสั่งด้านบน:

chmod - เปลี่ยน 'โหมด' ของไฟล์ (เช่นสิทธิ์)

go - สำหรับกลุ่ม (g) และอื่น ๆ (o)

-w - (ลบ w) ลบสิทธิ์การเขียน

/home/chance - ไฟล์ (หรือไดเรกทอรี) ที่เป็นปัญหา

ในคำตอบอื่น ๆ ไดเร็กทอรีที่เป็นสาเหตุของปัญหาคือ/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คำสั่งและแก้ไขปัญหาได้
Stephane

38

คุณใช้chmod go-wไปยังเส้นทางใดก็ได้ที่เทอร์มินัลมอบให้คุณ

ดังนั้นหากระบุว่า / usr / local เป็นเส้นทางในข้อความแสดงข้อผิดพลาด:

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

ที่คุณเขียน

chmod go-w /usr/local

23

ฉันต้องใช้ -R เพื่อแก้ไขของฉัน:

chmod -R go-w /Users/username

อย่าวิ่งกับ sudo เว้นแต่คุณจะรู้ว่าคุณกำลังทำอะไรอยู่! (คุณได้ตรวจสอบสิทธิ์ของทุกโฟลเดอร์ภายใน)
qwr

9

(ถ้าคุณอยู่ใน Mac) ลองใช้ตัวเลือก "Repair Disk Permissions" จากยูทิลิตี้ดิสก์

ใส่คำอธิบายภาพที่นี่

อาจมีสองสามบรรทัดในบันทึกรายละเอียดจะบอกว่า:

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

4
คำถามคือติดแท็ก Linux ไม่ใช่ Mac อย่างไรก็ตามเธรดนี้เป็นการโจมตีครั้งแรกของ Google และฉันใช้ Mac ดังนั้นจึงเหมาะกับฉัน! Canonical Mac ตอบคำถามเดียวกันที่นี่
Bluu

5

ฉันใช้ Mac ดังนั้น/ home / usernameจึงใช้ไม่ได้กับฉัน อย่างไรก็ตามเมื่อฉันพยายามเปลี่ยนสิทธิ์สำหรับ/ ผู้ใช้ / ชื่อผู้ใช้ข้อผิดพลาดยังคงอยู่

สิ่งที่ทำให้มันใช้งานได้คือ chmod go-w /User/username/.rvm


1
นั่นเป็นเพราะปัญหามาจากโฟลเดอร์ / usr ไม่ใช่จากโฟลเดอร์ / User / username หรือ ~ (home)
Eduardo Chongkan

3

หากสภาพแวดล้อมของคุณไม่อนุญาตให้คุณแก้ไขข้อผิดพลาดนี้อย่างถูกต้อง (เช่นทับทิมอาศัยอยู่ในเครือข่ายแชร์หรือบางส่วน) โปรดดู คำตอบนี้หาวิธีที่จะระงับข้อผิดพลาด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.