MAC苹果电脑如何关闭系统完整性保护SIP(System Integrity Protection)

日期: 2018-11-07 18:28:14 人气: - 评论: 0

苹果电脑从 macOS 10.11 开始引入了系统完整性保护机制SIP(System Integrity Protection),目的是帮助普通用户避免恶意 app 通过用户授权的方式获得所有系统权限。

MAC苹果电脑如何关闭系统完整性保护SIP(System Integrity Protection) | 拉普拉斯

通过 System Integrity Protection,苹果实现了对第三方软件的限制,有一些操作永远不被允许,恶意软件无法通过用户授权的方式从而获得所有系统权限了。但同时也影响到了一些我们平常要用到的第三方软件。

MAC苹果电脑如何关闭系统完整性保护SIP(System Integrity Protection) | 拉普拉斯

System Integrity Protection技术主要分为文件系统保护,运行时保护,内核扩展签名,文件系统保护主要是通过沙盒机制限制root权限,运行时保护,主要就是保护关键进程无法被进程代码注入,挂调试器以及内核调试等,内核扩展签名,所有的第三方kext必须被安装到/Library/Extensions,并强制使用签名。

MAC苹果电脑如何关闭系统完整性保护SIP(System Integrity Protection) | 拉普拉斯

简单的来说,就是限制,那为什么限制呢,当然也是为你的安全。那我为什么又要告诉你关闭 SIP呢,因为它会影响到我们无法使用部分第三方应用(*^▽^*)。

MAC苹果电脑如何关闭系统完整性保护SIP(System Integrity Protection) | 拉普拉斯

禁用关闭 SIP 保护机制的方法:

重启你的Mac,当在开机的时候,按住 Command + R键,按住不动,稍待片刻,电脑会进入到恢复模式。

如下图,点击顶部菜单栏 实用工具 中的 终端。Pasted Graphic.png

MAC苹果电脑如何关闭系统完整性保护SIP(System Integrity Protection) | 拉普拉斯

在终端中输入下面一行命令,然后按回车,如下图提示。

csrutil disable

Pasted Graphic 1.png

MAC苹果电脑如何关闭系统完整性保护SIP(System Integrity Protection) | 拉普拉斯

然后点击左上角苹果LOGO,正常重启你的电脑,重启后,会回到正常的MAC系统。这样就已经关闭了SIP系统保护机制。

MAC苹果电脑如何关闭系统完整性保护SIP(System Integrity Protection) | 拉普拉斯

重新打开 SIP 的方法和上面的步骤一样,只是终端中输入的命令改为以下命令即可。

csrutil enable

MAC苹果电脑如何关闭系统完整性保护SIP(System Integrity Protection) | 拉普拉斯

技术细节

TotalFinder通过改变内置系统应用程序Finder.app来工作。

为了改变Finder的一些功能,我们使用了一种称为代码注入的技术。这意味着我们在Finder程序运行时添加一些额外的代码来完成我们需要的操作。这是相对安全的 - 事实上我们不会更改磁盘上macOS的任何部分。您只需要退出Finder Command+Option+Esc,Finder将重新启动,一切就像TotalFinder永远不会运行一样。

MAC苹果电脑如何关闭系统完整性保护SIP(System Integrity Protection) | 拉普拉斯

但是,在El Capitan和后来的macOS开发人员添加了一项功能,即使您拥有管理员权限,也不允许进行此类修改。它还将禁止其他类型的修改(例如更换磁盘上的系统部分)。

MAC苹果电脑如何关闭系统完整性保护SIP(System Integrity Protection) | 拉普拉斯

为了使TotalFinder能够将代码注入到Finder.app中,我们需要系统的帮助。我们需要安装一个特殊的系统组件,它允许在这种特殊情况下绕过SIP限制。要安装此系统组件,必须暂时禁用SIP。禁用SIP并运行TotalFinder时,它会提示您在该位置安装其系统组件/System/Library/ScriptingAdditions/TotalFinderSIP.osax。当你重新打开SIP时,它将允许TotalFinder注入Finder.app。

MAC苹果电脑如何关闭系统完整性保护SIP(System Integrity Protection) | 拉普拉斯

这应该是一次性设置。此组件通常不会在TotalFinder版本之间更改。因此,不应要求您在每次TotalFinder更新时重复这些步骤。当我们由于某种原因需要更新此组件时,TotalFinder将提示您并指导升级过程。您可以访问此页面以查看组件的历史版本列表,并提供更换原因。

MAC苹果电脑如何关闭系统完整性保护SIP(System Integrity Protection) | 拉普拉斯

卸载和SIP

要从系统中删除TotalFinder,请运行最新dmg下载TotalFinder上的卸载程序。如果您已打开SIP,则卸载程序将无法删除/System/Library/ScriptingAdditions/TotalFinderSIP.osax。这没有害处(如果你不运行TotalFinder就不会加载它),但要完全清理你应该禁用SIP并手动删除它,或者再次运行卸载程序。