如何在 Mac OS X 中禁用系统完整性保护(无根)
目录:
Apple 在 Mac OS 10.11 及更高版本中启用了一个新的默认安全导向功能,称为系统完整性保护,通常称为无根或 SIP。 SIP / rootless 功能旨在防止 Mac OS X 受到恶意代码的损害,无论是有意还是无意,SIP 所做的基本上是锁定文件系统中的特定系统级位置,同时防止某些进程附加到系统级进程.
虽然系统完整性保护安全功能非常有效,而且绝大多数Mac 用户应该启用无根,但一些高级Mac 用户可能会发现无根保护过度。因此,如果您属于不希望在其 Mac OS X 安装中启用 SIP rootless 的高级 Mac 用户组,我们将向您展示如何关闭此安全功能。
SIP保护哪些目录?
在开始禁用SIP 之前,您可能想知道SIP / rootless 保护哪些目录不被修改。目前,系统完整性保护在 Mac OS X 中锁定了以下系统级目录:
/System /sbin /bin /usr(/usr/local 子目录除外)/预装 Mac OS 的应用程序(Terminal、Safari、 ETC)
因此,rootless 可能会导致某些应用程序、实用程序和脚本根本无法运行,即使具有 sudo 权限、启用 root 用户或管理员访问权限也是如此。
在Mac OS X中关闭无根系统完整性保护
再次声明,绝大多数Mac用户不应该禁用rootless。禁用 rootless 专门针对高级 Mac 用户。这样做需要您自担风险,这不是特别推荐的。
- 重启Mac并在听到启动提示音后同时按住Command + R键,这将引导Mac OS X进入恢复模式
- 当出现“MacOS Utilities”/“OS X Utilities”屏幕时,下拉屏幕顶部的“Utilities”菜单,然后选择“Terminal”
- 在终端中输入以下命令,然后回车:
- 您会看到一条消息说系统完整性保护已被禁用,Mac 需要重新启动以使更改生效,然后 Mac 将自动重启,让它正常启动即可
csrutil 禁用;重启
您也可以自己发出命令而不自动重启,如下所示:
csrutil disable
顺便说一句,如果你对禁用无根感兴趣,你可能还想在命令行中禁用Gatekeeper。
如果您打算在终端或 Mac OS 实用程序屏幕中执行其他操作,您可能希望在最后停止自动重启命令,是的,如果您想知道,这就是使用 Internet Recovery 重新安装 Mac OS X 时使用的相同恢复模式。
Mac 再次启动后,系统完整性保护将在Mac OS X 中完全禁用,从而允许完全访问上述受保护的文件夹。
检查Mac OS X中无根/系统完整性保护的状态
如果您想在重新启动之前或不将Mac重新启动进入恢复模式就知道无根状态,只需在终端中发出以下命令:
csrutil状态
您将看到两条消息之一,已启用 indi:
或者
如果您希望在任何时候更改无根状态,则需要再次重启进入恢复模式。
如何在Mac OS X中重新启用无根系统完整性保护
只需按照上面的指示再次将 Mac 重新启动到恢复模式,但在命令行中改用以下语法:
csrutil 启用
和以前一样,需要重启Mac才能使更改生效。
如前所述,绝大多数 Mac 用户应该启用无根并接受系统完整性保护,因为大多数 Mac OS X 用户无论如何都与系统级目录无关。调整此功能真正针对的是高级 Mac 用户,无论是 IT、系统管理员、网络管理员、开发人员、修补匠、安全操作,还是其他相关的高技术领域。