sip是macos内核级强制访问控制机制,启动早期即锁定/system、/usr(不含/usr/local)、/bin、/sbin、/private/etc等路径及预装apple应用和关键守护进程,通过com.apple.rootless属性与rootless.conf实时校验,禁用需在恢复模式执行csrutil命令。

macOS 的系统完整性保护(SIP)不是靠“黑名单”或临时规则起作用,而是通过内核级的 rootless 机制,在启动早期就锁定一批对系统运行至关重要的路径和进程。它不看用户权限,也不受 sudo 影响——哪怕你是 root,访问这些区域时内核会直接拒绝,返回 Operation not permitted。
/System 及其关键子目录
整个 /System 目录树被完全锁定,包括:
-
/System/Library/Extensions(所有 kext 内核扩展) -
/System/Library/CoreServices(Finder、Dock、loginwindow 等核心 GUI 组件) -
/System/Library/Frameworks和/System/Library/PrivateFrameworks -
/System/Applications(预装的系统应用,如“磁盘工具”“控制台”)
/usr、/bin、/sbin 及其符号链接目标
这些是系统运行依赖的基础二进制与库路径:
-
/usr/bin(ls、python3、clang等命令) -
/usr/lib(关键动态库,如dyld) -
/bin和/sbin(sh、cp、ifconfig、mount等基础工具) -
/etc、/tmp、/var是符号链接,实际指向/private/etc、/private/tmp、/private/var—— 这些真实路径同样受 SIP 保护
预装 Apple 应用及其可执行文件
无论是否在 /Applications 中,只要属于 Apple 预装软件,其主二进制和资源均绑定签名并受保护:
- Safari、Mail、Calendar、Photos、Xcode(内置工具部分)
-
/Applications/Utilities中的 Terminal.app、Console.app、Activity Monitor.app 等 - 这些应用的
Contents/MacOS/下可执行文件无法被替换或注入
关键系统守护进程(运行时保护)
SIP 不仅锁文件,还限制对特定进程的运行时操作:
-
launchd(PID 1,所有进程的父进程) -
Dock、Finder、WindowServer、syslogd、kextd - 禁止代码注入、调试附加(
lldb attach)、ptrace或 DTrace 跟踪 - 阻止未签名动态库被这些进程加载











