一、前因
苹果从 OS X El Capitan 10.11 系统开始使用了 Rootless 机制,可以将该机制理解为一个更高等级的系统的内核保护措施,系统默认将会锁定 /system、/sbin、/usr 这三个目录。

二、后果
Rootless 机制虽然在一定程度上增加了系统的安全性,但作为一名开发人员会经常的操作 /usr 这个目录,这个时候你会发现你使用的任何命令都会提示没有操作权限,即使使用 root 权限也不行。

三、开关 Rootless
关闭和开启 Rootless 非常简单,方法如下:

重启 Mac,听到开机启动声后按下 Command+R,进入恢复模式,在上面的菜单实用工具中找到并打开 Terminal(如果顶部没出现菜单,请继续重启^_^)。输入如下命令:

  1. 关闭 Rootless
    $ csrutil disable

  2. 开启 Rootless
    $ csrutil enable

执行完命令后,重启电脑即可生效。为了系统的安全,建议大家平时都开启 Rootless,只有需要时才暂时关闭。

四、文件还是无法写入系统目录的情况
Mac 升级 catalina 后根目录无法创建文件,提示‘Read-only file system’错误,原本根目录文件夹被迁移
关闭 sip即可,终端输入 sudo mount -uw /