ใช่ Mac มีการปรับปรุงมากมายสำหรับ Unix ในส่วนของไฟล์ ไม่สนใจสิ่งที่แยกทรัพยากรทั้งหมดซึ่งไม่ได้ใช้อีกต่อไปมี:
- สิทธิ์ Unix มาตรฐาน
ugo rwxและอื่น ๆ ใช้เครื่องมือ Unix ปกติ
- ACL 's ซึ่งสามารถดูได้ด้วยและอาจมีการเปลี่ยนแปลงด้วย
ls -lechmod [ -a | +a | =a ]
- แฟล็กไฟล์ที่สามารถดูได้ด้วย
ls -lO(ทุนโอ้ไม่เป็นศูนย์) และสามารถเปลี่ยนแปลงchflagsได้
- แอตทริบิวต์เพิ่มเติมสามารถดูได้ด้วย
ls -l@(เฉพาะปุ่มแอตทริบิวต์) และสามารถดูและเปลี่ยนแปลงxattrได้ (ใช้xattr -hเพื่อขอความช่วยเหลือหากman xattrไม่ให้อะไรคุณ)
- เริ่มต้นด้วย OS X 10.11 "El Capitan" ระบบ Integrity คุ้มครอง (SIP) ต่อไปปกป้องไฟล์จากการเปลี่ยนแปลงจากกระบวนการสามัญแม้เมื่อใช้ให้ทำงานเป็น
sudo rootไฟล์ที่ได้รับการป้องกันโดย SIP จะถูกแสดงรายการโดยระบุls -lOว่ามีการrestrictedตั้งค่าสถานะและ / หรือแสดงรายการโดยls -l@มีcom.apple.rootlessแอตทริบิวต์
คุณสามารถปฏิเสธการดำเนินการกับไฟล์ได้เนื่องจากสิทธิ์ Unix, ACLs, แฟล็กไฟล์หรือ SIP วิธีปลดล็อกไฟล์อย่างสมบูรณ์:
sudo chmod -N file # Remove ACLs from file
sudo chmod ugo+rw file # Give everyone read-write permission to file
sudo chflags nouchg file # Clear the user immutable flag from file
sudo chflags norestricted file # Remove the SIP protection from file
sudo xattr -d com.apple.rootless file # Remove SIP protection from file
หากเปิดใช้งานการป้องกันความสมบูรณ์ของระบบ (SIP) sudo chflags norestrictedและsudo xattr -d com.apple.rootlessจะส่งคืนข้อผิดพลาด "ไม่อนุญาตการดำเนินการ" เพื่อล้างธงและ / หรือแอตทริบิวต์ที่คุณจำเป็นต้องบูตเข้าMacOS การกู้คืนและทั้งเรียกใช้คำสั่งจากเทอร์ (คุณอาจจะต้องใช้งานครั้งแรก Disk Utility เพื่อปลดล็อคและติดบูตไดรฟ์ของคุณแล้วจำได้ว่าไฟล์ของคุณจะอยู่ภายใต้/Volumes/Macintosh HDหรือสิ่งที่บูตของคุณ ชื่อไดรฟ์) หรือปิดการใช้งาน SIP ทั้งหมดจากนั้นรีบูทและคำสั่งควรใช้งานได้ อย่างไรก็ตามโปรดทราบว่าการอัปเดตระบบปฏิบัติการในอนาคตมีแนวโน้มที่จะกู้คืนrestrictedแฟล็กและcom.apple.rootlessแอตทริบิวต์ไปยังไฟล์ใด ๆ ที่คุณลบออก
ไม่แนะนำให้ปิดใช้งาน SIPเนื่องจากจะกำจัดการป้องกันมัลแวร์และความเสียหายจากอุบัติเหตุจำนวนมากรวมทั้งไม่จำเป็นเมื่อคุณสามารถลบการป้องกันบนพื้นฐานต่อไฟล์ หากคุณปิดใช้งาน SIP ให้เปิดใช้งานอีกครั้งเมื่อคุณทำการเปลี่ยนแปลงเสร็จสิ้น
โปรดทราบว่าหากls -lOแสดงการschgตั้งค่าสถานะคุณต้องเข้าสู่โหมดผู้ใช้คนเดียวเพื่อยกเลิกการตั้งค่า ฉันจะไม่เข้าไปที่นี่เพราะมีคำถามที่ใหญ่กว่าเกี่ยวกับสาเหตุที่ไฟล์มีการตั้งค่าสถานะนั้นและทำไมคุณพยายามยุ่งกับมันและผลที่ตามมาจะเป็นอย่างไร
sudo chgrp wheel ./entriesไหม