คำเตือน: โลกที่ไม่ปลอดภัยสามารถเขียนได้ dir / usr / local / bin ใน PATH, โหมด 040777


172

ทุกครั้งที่ฉันรันคำสั่งนี้rails server:

คำเตือน: โลกที่ไม่ปลอดภัยสามารถเขียนได้ dir / usr / local / bin ใน PATH, โหมด 040777

ฉันค้นหาวิธีแก้ปัญหาที่นี่และพวกเขากล่าวว่าพิมพ์: chmod go-w /usr/local/bin

แต่ฉันได้รับข้อผิดพลาดนี้:

chmod: ไม่สามารถเปลี่ยนโหมดไฟล์ใน / usr / local / bin: ไม่อนุญาตให้ใช้งาน

ฉันใช้ OS X ตามวิธี


7
ฉันมีปัญหาเดียวกันหลังจากติดตั้งซอฟต์แวร์สำหรับดองเกิล USB T-Mobile บรอดแบนด์และสงสัยว่ามันเป็นความรับผิดชอบในการทำมัน คุณใช้ดองเกิลด้วยโอกาสใดบ้างหรือไม่?
Peter Nixey

5
ใช่ฉันได้รับมันหลังจากติดตั้งดองเกิล USB มือถือ Virgin (ออสเตรเลีย)
nocache

3
OMG จริงเหรอ? ขอบคุณสำหรับข้อมูลนี้! ฉันยังสังเกตเห็นว่าหลังจากฉันพยายามเรียกใช้ซอฟต์แวร์ dongle ของ T-Mobile แล้ว f * การอนุญาตของฉัน
Oto Brglez

ฉันใช้ดองเกิล LTE โดย AU (ผู้ให้บริการญี่ปุ่น) ซึ่งต้องใช้พ่อมดบรรทัดคำสั่งเพื่อไปทำงาน ...
Nicolas Miari

คำตอบ:


278

คุณจะต้องมีการเข้าถึงรูทเพื่อทำสิ่งนี้ หากคุณยังไม่ได้เป็นผู้ดูแลระบบให้เข้าสู่ระบบในฐานะผู้ดูแลระบบ จากนั้นใช้ 'sudo' เพื่อเปลี่ยนการอนุญาต:

sudo chmod go-w /usr/local/bin

เห็นได้ชัดว่านั่นหมายความว่าคุณไม่สามารถติดตั้งวัสดุใน / usr / local / bin ได้อีกต่อไปยกเว้นผ่าน 'sudo' แต่คุณอาจไม่ควรทำเช่นนั้น


ถ้าฉันพิมพ์คำสั่งข้างต้นฉันจะได้รับ: sudo: / etc / sudoers เป็นโหมด 0644, ควรเป็น 0440 Segmentation fault
Xandman

@ แซนด์แมน: ฉันไม่รู้ว่าเกิดอะไรขึ้นกับความผิดในการแบ่งกลุ่ม; โปรแกรมไม่ควรทำเช่นนั้น (โดยเฉพาะอย่างยิ่งไม่เกี่ยวข้องกับความปลอดภัยเช่น sudo) เห็นได้ชัดว่ามีคนยุ่งเกี่ยวกับการอนุญาตให้ใช้ไฟล์ในระบบของคุณ - ฉันแนะนำให้อ่านการกระทำจลาจล ในเวลานั้นคุณอาจต้องเผชิญกับสถานการณ์ไก่และไข่ คุณไม่สามารถใช้ 'sudo' จนกว่าคุณจะแก้ไขการอนุญาตใน / etc / sudoers และคุณไม่สามารถแก้ไขการอนุญาตใน / etc / sudoers โดยไม่ต้องใช้ 'sudo' ผมไม่แน่ใจว่าสิ่งที่การแก้ไขที่ดีที่สุดคือ ...
โจนาธาน Leffler

1
ฉันเดาว่าฉันควรแขวนตัวเองแล้ว ซ่อมด้วย MAC ของฉันตั้งแต่ฉันเปลี่ยนจาก windows พยายามทำให้แล็ปท็อป windows นี้ ฉันอาจทำสิ่งที่โง่
Xandman

1
ขอบคุณสำหรับความคิดเห็นที่โจนาธานคุณให้ฉันความคิดในการตรวจสอบสิทธิ์ ฉันซ่อมแซมสิทธิ์ด้วย Disk Utility และเมื่อฉันรันคำสั่ง: sudo chmod go-w / usr / local / bin มันจะไม่ผ่าน
Xandman

@ แซนด์แมน: ไม่ต้องแขวนจนกว่าคุณจะพิสูจน์ตัวเองว่าเป็นผู้กระทำความผิดซ้ำแล้วซ้ำอีก คุณพูดว่า "มันจะไม่ผ่าน" - มันทำงานอย่างไร? ด้วย 'sudo' คุณให้รหัสผ่านของคุณเอง (ด้วย 'su' คุณให้รหัสผ่านของผู้ใช้เป้าหมาย - รูตโดยทั่วไป) ในการจัดเรียงสิ่งเหล่านี้คุณอาจต้องเปิดใช้งานการเข้าสู่ระบบรูท (การตั้งค่าระบบในฐานะผู้ดูแลระบบ IIRC) และไปแก้ไขสิทธิ์ในฐานะรูท นั่นถือว่าคุณพอทราบแล้วว่าไม่ควรแขวนตัวเองโดยไม่ตั้งใจ หรืออาจเป็นการดีกว่าที่จะทำการติดตั้งซ้ำตั้งแต่ต้น ขึ้นอยู่กับว่าคุณแก้ไขการอนุญาตมากแค่ไหน
Jonathan Leffler

63

ฉันมีข้อผิดพลาดเดียวกันที่นี่ MacOSX 10.6.8 - ดูเหมือนว่าการตรวจสอบทับทิมเพื่อดูว่าไดเรกทอรีใด ๆ (รวมถึงผู้ปกครอง) ในเส้นทางเป็นโลกที่เขียนได้ ในกรณีของฉันไม่มี / usr / local / bin อยู่เนื่องจากไม่มีสิ่งใดสร้างไว้

ดังนั้นฉันต้องทำ

sudo chmod 775 /usr/local

เพื่อกำจัดคำเตือน

คำถามที่นี่คือกระบวนการใด ๆ ที่ไม่ใช่รูท: ล้อใน MacOS จำเป็นต้องสร้างอะไรใน / usr / local?


9
ใช่775 => root(7) group(7) others(5), 7 => read(4) + write(2) + execute(1), and 5 => read(4) + execute(1)
crizCraig

8

ลอง: sudo chmod go-w /usr/local/bin

ไดเรกทอรี / usr / local / bin เป็นเจ้าของโดยบัญชีroot(เช่นผู้ดูแลระบบ) ดังนั้นแม้ว่าคุณจะสามารถเขียนลงไปได้คุณก็ไม่สามารถเปลี่ยนการอนุญาตได้ sudoคำสั่งหมายถึง "เรียกใช้คำสั่งต่อไปนี้เป็นราก" และการทำงานจำนวนมากเช่นการคลิกที่ไอคอนล็อคที่อยู่ในระบบกล่องโต้ตอบการตั้งค่า


7

ฉันมีปัญหาเดียวกันใน OSX สามารถแก้ไขได้โดยการเรียกใช้ Disk Utilities เพื่อซ่อมแซมสิทธิ์ ฉันเห็นด้วยกับ Peter Nixey: ในกรณีของฉันมันเกิดขึ้นเมื่อดองเกิล 3G ของฉันติดตั้งหรือติดตั้งไดรเวอร์อีกครั้ง การซ่อมแซมสิทธิ์หลังจากนั้นจะแก้ไขปัญหา


7

กำลังใช้ Mountain Lion สิ่งที่ฉันทำคือมองหา / usr / local และรับข้อมูล ในนั้นมีการแบ่งปันและการอนุญาต ตรวจสอบให้แน่ใจว่ามีเพียงผู้ใช้และผู้ดูแลระบบเท่านั้นที่เป็นผู้ที่มีสิทธิ์อ่านและเขียน บุคคลอื่นควรมีสิทธิ์เข้าถึงเพื่ออ่านเท่านั้น นั่นเรียงลำดับปัญหาของฉัน

มันมีประโยชน์ตามปกติคือ Run ยูทิลิตี้ดิสก์ของคุณและซ่อมแซมสิทธิ์ด้วย


3

เช่นเดียวกันที่นี่เห็นได้ชัดว่าโฟลเดอร์ / usr / local ของฉันเขียนได้ทั่วโลกดังนั้นฉันจึงทำได้ 755

# chmod 755 /usr/local

นอกจากนี้ยังปรากฏว่าด็องเกิลมือถือ Hauwei ที่ฉันใช้เคยติดตั้งไดเรกทอรีที่เขียนได้ทั่วโลกใน / usr / local เช่นกัน


3

หากคุณใช้ OSX และทำให้เกิดปัญหานี้บ่อยครั้งสิ่งที่ควรพิจารณาอีกประการหนึ่งคือการใช้เครื่องมือแก้ไขสิทธิ์ของ OSX ในตัว หากคุณไม่ได้เปลี่ยนโหมดไดเรกทอรีของคุณมีสิ่งอื่นทำอยู่และมีโอกาสที่ไดเรกทอรีอื่น ๆ จะมีสิทธิ์มากเกินไปเช่นกัน - เครื่องมือนี้จะรีเซ็ตพวกเขากลับเป็นค่าเริ่มต้นจากโรงงานซึ่งเป็นแนวคิดด้านความปลอดภัยที่ดี มีคำแนะนำที่ดีใน stackextange แอปเปิ้ลเกี่ยวกับกระบวนการนี้มากเป็น



2

แม้ว่าฉันจะเจอปัญหาที่คล้ายกัน ฉันใช้ KDE บน ubuntu 12 และในขณะที่เล่นอยู่ในโฟลเดอร์บ้านของฉันฉันเปลี่ยนสิทธิ์โดยไม่ได้ตั้งใจสำหรับกลุ่มและคนอื่น ๆ เป็น "สามารถดูและแก้ไขเนื้อหา" โดยคลิกขวาในโฟลเดอร์บ้านของฉันจากนั้นคุณสมบัติและลืมทุกอย่าง

คำเตือนของฉันคือ:

warning: Insecure world writable dir /home/my_home_folder in PATH, mode 040777

ดังนั้นในกรณีของฉันมันเป็นโฟลเดอร์บ้าน ฉันเลิกทำการดัดแปลงการอนุญาตแล้วฉันก็หยุดรับการเตือนเหล่านั้นเมื่อรันเซิร์ฟเวอร์ rails หรือทำภารกิจคราดเพื่อทำการทดสอบ


1

ฉันยังมีปัญหาเดียวกันแน่นอนกับทั้ง / usr / local / bin และ / etc / sudoers บน OSX Snow lepard.Even เมื่อฉันเข้าสู่ระบบในฐานะผู้ดูแลระบบและพยายามเปลี่ยนสิทธิ์ผ่านเทอร์มินัล ได้รับอนุญาต" และฉันได้ทำสิ่งต่อไปนี้เพื่อขออนุญาตโฟลเดอร์เหล่านี้

จากเทอร์มินัลฉันเข้าถึงไฟล์ / etc / sudoers และใช้ตัวแก้ไข pico ฉันเพิ่มรหัสต่อไปนี้: ชื่อผู้ใช้ ALL = (ทั้งหมด) ทั้งหมดแทนที่ "ชื่อผู้ใช้" ด้วยชื่อบัญชี MAC OS ของคุณ


0

ฉันมีข้อผิดพลาดเดียวกันที่นี่ MacOSX 10.11 - ดูเหมือนว่าการตรวจสอบทับทิมเพื่อดูว่าไดเรกทอรีใด ๆ (รวมถึงผู้ปกครอง) ในเส้นทางเป็นโลกที่เขียนได้ ในกรณีของฉันไม่มี / usr / local / bin อยู่เนื่องจากไม่มีสิ่งใดสร้างไว้

เรียกใช้คำสั่งนี้ในเทอร์มินัลของคุณลองใช้ sudo chmod 775 / usr / local หลังจากนี้หากคุณมีรหัสผ่านบน mac ของคุณคุณต้องป้อนรหัสผ่าน ตอนนี้ปัญหานี้จะได้รับการแก้ไข


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