ใช่ Mac มีการปรับปรุงมากมายสำหรับ Unix ในส่วนของไฟล์ ไม่สนใจสิ่งที่แยกทรัพยากรทั้งหมดซึ่งไม่ได้ใช้อีกต่อไปมี:
- สิทธิ์ Unix มาตรฐาน
ugo
rwx
และอื่น ๆ ใช้เครื่องมือ Unix ปกติ
- ACL 's ซึ่งสามารถดูได้ด้วยและอาจมีการเปลี่ยนแปลงด้วย
ls -le
chmod [ -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
ไหม