装了部分软件后打不开,那可能是sip系统完整性没有关闭。看一下如何关闭sip系统完整性。
SIP 是什么?
系统完整性保护是 macOS 所采用的一项安全技术,能够帮助防止潜在恶意软件修改 Mac 上受保护的文件和文件夹。系统完整性保护可以限制 root 用户帐户,以及 root 用户能够在 Mac 操作系统的受保护部分完成的操作。
这可能对一些新人来说不太好理解,我们换一个说法,SIP 类似 Windows 的防火墙,安卓手机 Root,这应该可以解决很多的人困惑。
要更好的理解 SIP 可以做什么,我们需要先来了解一个概念:沙盒。
沙盒
macOS 自从 10.6 系统开始引入了沙盒机制,规定发布到 Mac App Store 中的应用必须使用并遵守沙盒约定。沙盒对应用访问的系统文件、硬件信息、网络等等都做了严格的限制,这样可以防止恶意的 App 通过系统漏洞来攻击系统并获取控制权限,也可以避免应用越权执行不安全的操作导致系统出现故障,从而保障 macOS 系统的安全。
沙盒相当于给每个 App 一个独立的空间,你只能在自己的小天地里面玩耍,要获取自己空间之外的资源必须获得授权(这个也有限制,只能获取有限的资源)。
现在你就大致了解沙盒是什么了。上面说了,因为 Mac App Store 中的应用必须要遵循沙盒约定,所以苹果应用商店的软件都是用沙盒运行的,无法访问修改系统底层文件,所以大部分软件如果想做的功能强一些又想上架 AppStore 那只能发阉割版的了。很多优秀软件没有在 Apple Store 上架就是因为需要一些沙盒外的资源权限,于是一些软件采取双版本,分为官方版全功能版和 App Store 精简版,就是因为这个原因,比如腾讯柠檬之类的系统应用。
你应该能也看出来,苹果为了大家的系统安全可真是煞费苦心。
macOS 应用的安全划分
综上所述,我们可以把 macOS 应用按安全来划分为这三类:
类型 | 描述 | 安全级别 |
---|---|---|
沙盒运行 | 严格遵守苹果的沙盒机制,只能访问限定的目录及执行有限的操作 | 高 |
未关闭 SIP 且不使用沙盒运行 | 除系统底层受保护的文件外,通过用户授权后可以访问及修改任意文件 | 中 |
关闭 SIP 且不使用沙盒运行 | 几乎可以访问及修改所有系统文件。 | 低 |
关闭 SIP 的影响
关闭 SIP 后运行应用将不会再提示:
- xxx已损坏,无法打开,你应该将它移到废纸篓解决办法
- 打不开 xxx,因为它来自身份不明的开发者
- 打不开xxxx,因为 Apple 无法检查其是否包含恶意软件
也就是说,只要应用本身可以运行,那不管应用是否签名/公证,不管应用是不是恶意应用,你打开后它都会直接运行在你的系统中,此时你的电脑如同透明,毫无安全可言,它可以操作你系统的所有文件,如果这个应用是恶意应用,如果你不小心对它授权过,那它后面可以不经你允许在你系统上进行任何操作。
所以如非必要,MacWk 强烈不建议大家关闭 SIP!!!如果一定要使用某个需要关闭 SIP 的应用,那一定要自行判断一下应用的来源是否安全。
废话不多说了,切入正题吧。
关闭 SIP
检查 SIP 状态
在sip系统完整性关闭前,我们先检查是否启用了SIP系统完整性保护。
打开终端输入以下命令并回车(可以通过点击屏幕右上角的搜索图标,输入终端
快速运行):
csrutil status
你会看到以下信息中的一个,指示SIP状态
未关闭 enabled
:
System Integrity Protection status: enabled.
已关闭 disabled
:
System Integrity Protection status: disabled
如果是未关闭状态就需要关闭SIP了!
ARM M1
ARM M1 处理器关闭 SIP 步骤
- 关机
- 按住开机键不松手直到出现下图的画面,然后点击
选项
- 点击
继续
- 点击菜单栏的
实用工具
,再点击终端
- 输入
csrutil disable
,然后按下回车也就是return
键
- 输入
y
,然后按下回车也就是return
键
- 输入您的电脑密码,然后按下回车也就是
return
键
- 等待执行结果……
- 出现
System Integrity Protection is off.
证明 SIP 已成功关闭。
- 输入
reboot
然后按下回车也就是return
键重启电脑即可。
如果后期想再开启 SIP,只需要将上面第 5 步的 csrutil disable
换成 csrutil enable
即可。
Intel 处理器
macOS 11.x Big Sur(Intel 处理器) 及以下系统关闭 SIP 步骤:
- 关机,然后重新启动你的Mac电脑,在开机时一直按住Command+R迸入Recovery模式。
- 进入Recovery模式后打开终端,如图:
- 在终端上输入命令 csrutil disable然后回车。
- 点击左上角苹果图标,再点击重新启动