macOS Catalina 关闭SIP

问题背景

作为开发人员经常需要对mac系统文件进行操作,常常因为没有权限(包括sudo命令)而遭拒。

常见提示:

Read-only file system。

解决方案

SIP 全称为「System Integrity Protection」即「系统完整性保护」,是 OS X El Capitan 时开始采用的一项安全技术,SIP 将一些文件目录和系统应用保护了起来,这会对一些开发人员造成影响,所以有时候需要关闭SIP(关闭SIP会降低系统安全性)。

1、查看SIP状态

csrutil status
# enabled: 开启、disabled: 关闭

2、关闭SIP
因为 SIP 是系统级的权限操作,我们无法直接关闭它,需要前往「macOS 恢复功能」下进行。 将 Mac 重启,立即在键盘上按住 Command ⌘ + R,直到看到 Apple 标志或旋转的地球时松开。看到「实用工具」窗口时,恢复功能启动即完成。

重启.png

在上方的菜单栏点击「实用工具」选择「终端」。


终端.png

在终端中,输入「csrutil disable」后回车。
回车后会提示「成功关闭了系统完整性保护,请重启机器」


关闭.png

点击菜单栏  标志,选择「重新启动」,就此我们关闭了 SIP。

重启.png

3、开启SIP
SIP 是避免软件任意修改或覆盖任意系统文件或应用,日常还是建议保持开启状态的。
仍然是进入到「macOS 恢复功能」,但这次在终端输入的是「csrutil enable」开启 SIP,重启 Mac 即可。

4、macOS Catalina 问题

macOS Catalina 需要在完成步骤2之后,还需需要一步。

sudo mount -uw /

推荐阅读更多精彩内容