sudo chmod -R 777 /


9
 sudo chmod -R 777 /

ฉันทำอย่างนี้. มันเป็นความผิดพลาด. มีวิธีการยกเลิกหรือไม่

โดยพื้นฐานแล้วมันจะเลอะสิ่งต่าง ๆ มากกว่าที่ฉันสามารถแสดงรายการ ฉันไม่ได้เปิดใช้งานไทม์แมชชีนบนเครื่อง mac


คนที่จริงจังกับคำถามมีวิธีใดที่จะยกเลิกได้
Casey Flynn

3
การอนุญาต 777 นั้นแทบไม่เคยมีคำตอบสำหรับปัญหาการอนุญาตใด ๆ ทั้งสิ้น มันอาจทำให้คุณเกิดอาการสะอึก แต่มันก็เป็นความคิดที่ดีแม้ว่าจะถูก จำกัด ไว้ที่ไดเรกทอรีในระบบดิสก์ของคุณ เป็นหายนะเมื่อนำไปใช้กับไฟล์และไดเรกทอรีทั้งหมดภายใต้รูทไม่น้อยเพราะพยายามลบ SUID บิตออกจากโปรแกรมเช่น 'sudo' ที่ต้องการพวกเขา อย่าทำมันอีก! (ผู้ใช้ระบบปฏิบัติการยูนิกซ์จำนวนมากสามารถเพลิดเพลินคุณมีเรื่องราวของความผิดพลาดที่คล้ายหนึ่งฉันจะไม่รบกวนคุณกับฉัน แต่การสำรองข้อมูลของระบบบันทึกวันและมันก็ไม่ได้ผมที่พิมพ์คำสั่งที่ประสบความสำเร็จrm -fr /.)
Jonathan Leffler

2
ให้นี่เป็นบทเรียนสำหรับทุกคนเกี่ยวกับสาเหตุที่sudoเกิดขึ้นเกี่ยวกับ "คิดก่อนพิมพ์" ครั้งแรกที่คุณใช้ ;-)
สกอตต์

ทำls -lR / >listระบบที่ดีต่อสุขภาพ (หรือขอให้คนอื่นทำรายการ) คุณสามารถทำให้กระบวนการนี้เป็นไปโดยอัตโนมัติเพื่อตั้งค่าการอนุญาต (ถ้าการซ่อมแซมยูทิลิตี้ Dirk นี้ใช้งานไม่ได้)
ott--

แท็บการทำให้สมบูรณ์อัตโนมัติช่วยชีวิต 3
hwshadow

คำตอบ:


9

ดูคุณสมบัติการซ่อมแซมดิสก์สิทธิ์ดิสก์ของ Apple:

http://support.apple.com/kb/HT1452?viewlocale=en_US


1
สิ่งนี้จะไม่ยกเลิกการเปลี่ยนแปลงของคุณ แต่ควรแก้ไขปัญหาส่วนใหญ่เนื่องจากการตั้งค่าสิทธิ์ที่ไม่เหมาะสม
kylex

นี่จะซ่อมแซมโปรแกรม 'sudo' ของฉันหรือไม่
Casey Flynn

@Casey - ปัญหาของ sudo คืออะไร? sudo ช่วยให้คุณสามารถรันคำสั่งในฐานะรูทได้ กล่าวคือ ข้ามข้อ จำกัด ด้านความปลอดภัยมากมาย
kylex

1
@ kylex: มันอาจจะปฏิเสธที่จะทำงานตั้งแต่ / etc / suoers เป็น worldwritable :) ความคิดที่ดี
sehe

4
Sudo อาจปฏิเสธที่จะทำงานเพราะต้องการบิตที่เหมาะสมและการเปลี่ยนทุกอย่างเป็นโหมด 777 ซ้ำซ้อน OP ได้ปล้น suid bit บน sudo (และโปรแกรมพิเศษอื่น ๆ ทั้งหมด) หากไม่มีการตั้งค่า suid bit sudo จะไม่สามารถได้รับสิทธิ์ในการยกระดับและดังนั้นจึงไม่สามารถให้สิทธิ์การเข้าถึงแก่คุณนอกเหนือจากที่คุณมีอยู่แล้ว เว้นแต่ว่า Disk Utility มีกลไกทางเลือกสำหรับการรับสิทธิพิเศษที่สูงขึ้น Casey อาจจะต้องจัดการเพื่อเข้าสู่ระบบในฐานะ root
larsks

4

จากhttp://support.apple.com/kb/HT2963 :

การใช้ยูทิลิตี้ซ่อมแซมสิทธิ์

ผู้ใช้ส่วนใหญ่ของ Mac OS X ไม่มีสิทธิ์ในการแก้ไขโดยเจตนาและต้องการยูทิลิตี้เพื่อรีเซ็ตสิทธิ์ของระบบเป็นค่าเริ่มต้นที่ถูกต้อง หากคุณมี Mac OS X 10.2 ขึ้นไปยูทิลิตี้นี้จะรวมอยู่ในระบบปฏิบัติการ หากคุณมี Mac OS X 10.1 คุณสามารถดาวน์โหลดได้ สำหรับเวอร์ชัน 10.0 ถึง 10.1.4 คุณต้องอัปเดตเป็นเวอร์ชัน 10.1.5 ก่อน

สำหรับ Mac OS X 10.2 หรือใหม่กว่าให้เปิด Disk Utility (/ Applications / Utilities /) เลือกโวลุ่มเริ่มต้น Mac OS X ของคุณในคอลัมน์ทางด้านซ้ายของหน้าต่าง Disk Utility จากนั้นคลิกแท็บ First Aid คลิกปุ่มซ่อมแซมดิสก์สิทธิ์ คุณอาจเห็นข้อความผิดพลาด


3

คุณโชคดี:

มันจะไม่แก้ไขทุกอย่าง แต่มันจะแก้ไขทุกอย่างที่ระบุในไฟล์รายการวัสดุสำหรับแพ็คเกจที่ติดตั้ง


0

สิทธิ์ซ่อมรวมถึงไฟล์ที่สร้างขึ้นโดยตัวติดตั้ง OS X (เช่น / etc / sudoers) แต่ไม่รวมไฟล์ที่ไม่ได้ติดตั้งไว้ล่วงหน้าหรือไม่ได้สร้างโดยแพ็คเกจ

อาจเป็นการง่ายกว่าที่จะสำรองข้อมูลทุกอย่างทำการติดตั้งใหม่ทั้งหมดและเรียกคืนไฟล์ที่เลือกไว้จากการสำรองข้อมูล (หรือการสำรองข้อมูล) คุณสามารถคืนค่าการอนุญาต 644/744 ด้วยการค้นหา:

find /Volumes/Second\ Backup -type f -exec chmod 644 {} \+
find /Volumes/Second\ Backup -type d -exec chmod 744 {} \+

หากคุณไม่สามารถสำรองไฟล์ได้ให้ลองเริ่มการทำงานจากพาร์ติชันการกู้คืน (หรือสื่อการติดตั้งใน 10.6 และรุ่นก่อนหน้า) และทำการโคลนไดรฟ์ OS X หลักจาก Disk Utility


-1

หากมีเครื่องมือบางอย่างในการคืนค่าการอนุญาตและผู้คนแนะนำให้คุณไปก่อนดีกว่าไปด้วยsudo chmod -R 777 /มิฉะนั้นคุณสามารถทำได้คือการคืนสิทธิ์ทั้งหมดให้อยู่ในระดับที่ปลอดภัยขึ้นเช่น

chmod -R 644

จากนั้นเปลี่ยนการอนุญาตเป็นระดับที่ต้องการเมื่อมีข้อขัดแย้ง

-

แต่มันก็ไม่ได้เป็นวิธีที่ดี มีวิธีการที่ปลอดภัยกว่าเพื่อป้องกันการพลาดไฟล์ก่อนที่จะเกิดอะไรขึ้น :(


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