답변:
10.11의 시스템 무결성 보호는 비활성화 할 수 있지만 가볍게 수행해서는 안됩니다.
다음을 수행하여 SIP를 완전히 비활성화 할 수 있습니다.
csrutil disable
또는 dtrace
다음을 실행하여 계속 작동 하면서 SIP를 다시 활성화 할 수 있습니다 .
csrutil enable --without dtrace
이렇게하면 다음과 같은 경고가 표시됩니다.
이것은 지원되지 않는 구성으로, 나중에 중단되어 시스템을 알 수없는 상태로 남겨 둘 수 있습니다.
재부팅하면 dtrace
Yosemite에서와 같이 작동합니다.
바이너리를 "제한되지 않은"디렉토리로 복사하십시오 (예 : /tmp
csrutil disable
dtruss에는 어느 정도 작동하지 않습니다. 그러나 @JJ가 효과가 있다고 말했듯 chroot
이 이것은 나에게 영감을주었습니다.
여전히 이것이 왜 작동하는지 모르겠습니다. "보호 된 디렉토리"와 관련이있을 수 있습니다.
테스트는 다음과 같습니다.
CC@~ $ csrutil status
System Integrity Protection status: disabled.
CC@~ $ sudo dtruss /bin/echo
dtrace: failed to execute /bin/echo: dtrace cannot control executables signed with restricted entitlements
CC@~ $ cp /bin/echo /tmp
CC@~ $ sudo dtruss /tmp/echo
SYSCALL(args) = return
thread_selfid(0x0, 0x0, 0x0) = 46811 0
csops(0x0, 0x0, 0x7FFF51B6CA20) = 0 0
issetugid(0x0, 0x0, 0x7FFF51B6CA20) = 0 0
shared_region_check_np(0x7FFF51B6A918, 0x0, 0x7FFF51B6CA20) = 0 0
stat64("/usr/lib/dtrace/libdtrace_dyld.dylib\0", 0x7FFF51B6BEA8, 0x7FFF51B6CA20 = 0 0