苹果电脑从 macOS 10.11 开始引入了系统完整性保护机制 SIP(System Integrity Protection),目的是帮助普通用户避免恶意 app 通过用户授权的方式获得所有系统权限。通过 System Integrity Protection,苹果实现了对第三方软件的限制,有一些操作永远不被允许,恶意软件无法通过用户授权的方式从而获得所有系统权限了。
但同时也影响到了一些我们平常要用到的第三方软件。
System Integrity Protection 技术主要分为文件系统保护,运行时保护,内核扩展签名,文件系统保护主要是通过沙盒机制限制 root 权限,运行时保护,主要就是保护关键进程无法被进程代码注入,挂调试器以及内核调试等,内核扩展签名,所有的第三方 kext 必须被安装到/Library/Extensions,并强制使用签名。简单的来说,就是限制,那为什么限制呢,当然也是为你的安全。那我为什么又要告诉你关闭 SIP 呢,因为它会影响到我们无法使用部分第三方应用 o(∩_∩)o
苹果应用商店 Apple Store 的软件都是用沙盒运行的,无法访问系统文件,所以大部分软件都是阉割版的。很多优秀软件没有在 Apple Store 上架就是因为需要 SIP 系统权限,苹果不过审核,一些软件采取双版本,分为官方版和 App Store 版,App Store 是精简单版,全功能版需要单独下载,都是这个原因。比如腾讯柠檬之类的系统应用。
检查 macOS 的 SIP 关闭状态(可忽略,也可以不检查)
在 sip 系统完整性关闭前,我们先检查是否启用了 SIP 系统完整性保护。
打开终端输入以下蓝色命令并回车:(可以通过点击屏幕右上角的搜索图标,输入终端快速运行)
csrutil status
你会看到以下信息中的一个,指示 SIP 状态
未关闭 enabled:
System Integrity Protection status: enabled.
已关闭 disabled:
System Integrity Protection status: disabled
如果是未关闭状态就需要关闭 SIP 了!
苹果电脑 macOS / ARM M1/M2 关闭 SIP 教程
关机电脑,按住“开机键”不放直到屏幕上出现“选项”。
点击“继续”,等待进入恢复模式界面。
点击实用工具 > 点击终端,如图:
终端内输入命令:csrutil disable 然后回车执行(注意中间有个空格)
输入y,然后按下回车键
输入您的电脑密码,然后按下回车
等待执行结果……
出现 System Integrity Protection is off. 证明 SIP 已成功关闭。
输入 reboot 然后按下回车也就是 return 键重启电脑即可。
如果后期想再开启 SIP,只需要将上面第 5 步的 csrutil disable 换成 csrutil enable 即可。