什么是系统集成保护(System Integrity Protection)?
使用了系统集成保护,苹果决定第三方应用有一些永远不会被允许的事情。从某些层面来讲,这种保护和iOS更像了。第三方应用相比起来更受限制。这就是rootless一词的由来,系统在某种程度上限制了管理员账号的权限。
Apple 在OS X El Capitan 10.11 系统上已经使用了 Rootlees , 可以理解为一个更高等级的系统的内核保护措施,系统默认将会锁定 /system、/sbin、/usr 这三个目录(不包括 /usr/local)。rootless特性使得某些操作只有苹果的应用可以被许可(通过代码签名来判断)。所以第三方应用即使是运行在root权限中,Rootless 机制开启后,对这几个目录的任何操作都会提示没有操作权限。
:cd /usr
:sudo mkdir zhaolu
mkdir: zhaolu: Operation not permitted
:cd local
:sudo mkdir zhaolu
:sudo rmdir zhaolu
这个保护也是可以关闭的。
重启mac,然后在黑屏准备开机的时候,同时按住command + R,之后会进入恢复模式。
在上面的工具栏中,选择实用工具>>终端。如下所示:
然后输入命令:csrutil disable 。
重启电脑后,Rootless机制就会关闭了。
要是想打开这个机制就再重启,然后在终端输入命令:csrutil enable。
在正常桌面的终端中使用 csrutil status 命令可以查看 Rootless 的状态:
:csrutil status
System Integrity Protection status: enabled.