如何在 Mac OS X 中禁用系统完整性保护(无根)

启用或在 Mac OS X 中禁用无根系统完整性保护

从 10.11 版本开始,Apple 在 Mac OS 中启用了一个新的默认安全导向功能,称为系统完整性保护,通常称为无根或 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 预装应用程序操作系统(终端、Safari 等)

因此,rootless 可能会导致某些应用程序、实用程序和脚本根本无法运行,即使使用 sudo 权限,root 用户已启用,或管理员访问权限。

在 Mac OS X 中关闭无根系统完整性保护

同样,绝大多数 Mac 用户不应该禁用 rootless。 禁用 rootless 专门针对高级 Mac 用户。这样做需要您自担风险,这不是特别推荐的。

  1. 重启 Mac 并在听到启动提示音后同时按住 Command + R 键,这会将 Mac OS X 启动到恢复模式
  2. 当出现“MacOS Utilities”/“OS X Utilities”屏幕时,下拉屏幕顶部的“Utilities”菜单,然后选择“Terminal”
  3. 在终端中输入以下命令,然后回车:
  4. <代码>csrutil 禁用;重启

  5. 您会看到一条消息,指出系统完整性保护已被禁用,Mac 需要重启才能使更改生效,然后 Mac 将自动重启,让它正常启动即可

你也可以自己发出命令而无需像这样自动重启:

csrutil 禁用

顺便说一句,如果您有兴趣禁用无根,您可能还想禁用Gatekeeper当您也在命令行中时

如果您打算在终端或 Mac OS 实用程序屏幕中执行其他操作,您可能希望在最后停止自动重启命令,是的,如果您想知道,这就是相同的恢复模式 用于通过互联网恢复重新安装 Mac OS X

一旦 Mac 再次启动,系统完整性保护将在 Mac OS X 中完全禁用,从而允许完全访问上述受保护的文件夹。

检查 Mac OS X 中无根/系统完整性保护的状态

如果您想在重新启动之前或不将 Mac 重新启动到恢复模式的情况下了解 rootless 的状态,只需在终端中发出以下命令:

csrutil 状态

您将看到两条消息之一,已启用 indi:

$ csrutil status
系统完整性保护状态:启用。

$ csrutil status
系统完整性保护状态:禁用

如果您在任何时候希望更改无根状态,则需要重新启动到恢复模式。

如何在 Mac OS X 中重新启用无根系统完整性保护

只需按照上面的指示再次将 Mac 重新启动到恢复模式,但在命令行中改用以下语法:

csrutil 启用

和以前一样,需要重新启动 Mac 才能使更改生效。

如前所述,绝大多数 Mac 用户应该启用 rootless 并接受系统完整性保护,因为大多数 Mac OS X 用户无论如何都与系统级目录无关。调整此功能真正针对的是高级 Mac 用户,无论是 IT、系统管理员、网络管理员、开发人员、修补匠、安全操作人员还是其他相关的高技术领域。