如何修改 Mac 的 SIP(系统完整性保护)完整指南
Apple 在 macOS El Capitan (10.11) 中引入了 SIP(系统完整性保护),旨在保护系统文件、核心扩展和某些进程免受恶意软件或用户误操作的干扰。SIP 提高了系统安全性,但在某些场景下,开发者或高级用户可能需要暂时禁用 SIP或只禁用部分功能。这篇文章将为您提供详细的操作步骤。
什么是 SIP?
SIP,全称为 System Integrity Protection(系统完整性保护),通过限制对系统文件、目录和进程的修改,保护 macOS 的完整性。SIP 的核心功能包括:
-
保护系统文件和目录
SIP 禁止用户(包括root
用户)修改以下关键系统路径:/System
/usr
(但/usr/local
不受保护,常用于 Homebrew 等工具)/bin
/sbin
-
保护系统进程
SIP 防止调试或注入关键系统进程(如launchd
等)。 -
动态库加载限制
阻止未签名的动态库被系统进程加载。 -
限制系统调用
限制某些开发工具(如dtrace
和ptrace
)对受保护进程的访问。
操作步骤:如何修改 SIP?
1. 进入恢复模式 (Recovery Mode)
要修改 SIP,您必须在「恢复模式」中执行操作,而不是在正常的 macOS 系统中。
方法 1:通过键盘快捷键进入恢复模式
- 重启 Mac:
- 点击屏幕左上角的苹果图标 () > 重新启动。
- 按住快捷键:
- 在屏幕变黑时,立即按住 Command (⌘) + R,不要松开,直到屏幕上看到 Apple 标志或「正在加载 macOS」的进度条。
- 如果您按错时间,macOS 可能会正常启动。您需要重新启动 Mac 并重试。
方法 2:通过终端命令进入恢复模式
-
在 macOS 中打开 终端(可在“应用程序”>“实用工具”中找到)。
-
输入以下命令并回车:
sudo nvram recovery-boot-mode=unused; sudo reboot
-
系统将自动重新启动并进入恢复模式。
方法 3:如果 Command + R 不生效
- 如果 Command (⌘) + R 不能正常启动恢复模式,您可以尝试以下按键组合:
- Option (⌥) + Command (⌘) + R:进入「网络恢复模式」,这会从 Apple 服务器下载恢复工具,适用于系统分区损坏的情况。
- Shift (⇧) + Option (⌥) + Command (⌘) + R:安装出厂默认版本的 macOS。
2. 启动「终端」
进入恢复模式后,您将看到「macOS 实用工具」窗口。
操作步骤:
- 在顶部菜单栏,点击「工具栏」> 终端 (Terminal)。
- 打开后,您将看到一个黑色的终端窗口,您可以在此处输入修改 SIP 的命令。
3. 修改 SIP 设置
在终端中,您可以根据自己的需求,选择以下两种常见的 SIP 修改方式。
方式 1:完全禁用 SIP
- 在终端中输入以下命令并按下回车:
效果:csrutil disable
这将完全禁用 SIP,包括对文件系统、核心扩展和 NVRAM的保护。
方式 2:仅禁用文件系统保护
- 如果您只需要禁用文件系统的保护(不禁用核心扩展和 NVRAM),可以使用以下命令:
效果:csrutil enable --without fs
这只会禁用文件系统的 SIP 保护,核心扩展和 NVRAM 保护依然有效。
适用于**需要写入 /System 目录或 /usr 目录(但不包括 /usr/local)**的情况。
4. 重启 Mac
要使更改生效,您需要重新启动计算机。
操作步骤:
- 在终端中输入以下命令并回车:
reboot
- 系统将重新启动,进入正常的 macOS 系统。
如何恢复 SIP?
当您完成所有必要的更改后,建议您重新启用 SIP,以确保系统的安全性。
恢复 SIP 的步骤
- 按上述步骤进入恢复模式。
- 启动终端。
- 输入以下命令并按回车:
csrutil enable
- 重新启动 Mac:
reboot
效果:
所有的 SIP 功能(文件系统、核心扩展和 NVRAM 保护)都将被重新启用。
常见问题及解决方法
问题 1:Mac 不断进入恢复模式,无法正常启动
问题描述:
修改 SIP 后,Mac 一直循环进入恢复模式,而不是进入正常的 macOS 系统。
解决方法:
- 重新启动 Mac,并在开机时按住 Option (⌥) 键。
- 在出现的磁盘选择页面,选择带有 macOS 的磁盘。
- 点击磁盘,或按 Enter 以正常启动。
问题 2:无法进入恢复模式,Command + R 无效
问题描述:
按 Command (⌘) + R 组合键无法正常进入恢复模式。
解决方法:
- 尝试Option (⌥) + Command (⌘) + R 进入网络恢复模式。
- 如果键盘操作不成功,您可以在系统中使用终端命令:
sudo nvram recovery-boot-mode=unused; sudo reboot
注意事项
-
安全性风险
- 禁用 SIP 会降低系统的安全性,可能会导致恶意软件或病毒修改系统文件。
- 建议仅在必要时禁用 SIP,并在操作完成后重新启用 SIP。
-
选择部分禁用
- 如果可能,优先使用
csrutil enable --without fs
,而不要完全禁用 SIP。
- 如果可能,优先使用
-
文件系统变更的风险
- 如果您禁用 SIP 并对 /System、/usr 等目录做了修改,请在重新启用 SIP 之前确认文件的完整性。
-
需要备份数据
- 在修改 SIP 或对系统目录进行更改前,请先备份重要文件,以免发生意外。
总结
操作 | 终端命令 | 效果 |
---|---|---|
禁用 SIP | csrutil disable | 禁用所有 SIP 保护(文件系统、核心扩展、NVRAM) |
仅禁用文件系统 | csrutil enable --without fs | 仅禁用文件系统的 SIP 保护 |
恢复 SIP | csrutil enable | 重新启用所有 SIP 保护 |
通过 SIP,Apple 提供了更强大的系统安全保护,但也限制了用户对文件和进程的控制能力。灵活掌握 SIP 的启用和禁用技巧,您将能在安全性和开发需求之间找到最佳的平衡点。
如果您在操作过程中遇到问题,或者有其他关于 macOS 的问题,欢迎在评论中留言! 😊