問題:在/usr/lib下操作文件遇到Operation not permitted
原因
在Mac OS10.11之后,Apple公司為了提高系統環境安全,引入了一個內核保護措施--SIP(System Integrity Protection,系統完整性保護),又稱Rootless mode機制。
在SIP機制下,系統默認會鎖定/system、/sbin、/usr這三個目錄,即使切換到root用戶也只能查看,不能進行其他操作。
SIP可以有效地防止惡意程序對電腦進行破壞,所以平時建議保持開啟狀態。
# 查看SIP狀態
csrutil status
目前SIP是啟用狀態
解決辦法
1.重啟電腦,進入恢復模式,禁用SIP
重啟電腦,蘋果圖標亮的時候,同時按住Command+R進入恢復模式。(按擊一次即可,然后等待讀條)
進入到了恢復頁面,第一欄 -> 實用工具 ->打開終端
# 關閉保護機制
csrutil disable
# 重啟
reboot
2.將根目錄變為可讀寫的(重啟后失效)
sudo mount -uw /
操作成功后,根目錄讀寫功能已開啟,你可以操作根目錄了。
如果執行命令失敗,錯誤如下,則是因為RIP未被禁用。
mount_apfs: volume could not be mounted: Operation not permitted
mount: / failed with 77
3.最后,重啟電腦到恢復模式,啟用SIP
# 開啟保護機制
csrutil enable
# 重啟
reboot
