Mac下操作文件,遇到Operation not permitted

问题:在/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
 
 
posted @ 2020-04-24 11:59  玩得开心  阅读(8892)  评论(0编辑  收藏  举报