왜 내`rootless.conf`가 SIP가 어떤 파일이`restricted` 플래그 처리를 받는지에 대한 SIP의 선택에 항상 영향을 미치지는 않습니까?


8

무슨 소식

다른 사람과 마찬가지로 내 /System/Library/Sandbox/rootless.conf파일에는 다음 항목이 포함됩니다.

$ cat /System/Library/Sandbox/rootless.conf
[…]
        /System
[…]
*       /System/Library/Extensions
        /System/Library/Extensions/*
[…]

내가 찾은 주제의 모든 소스 (예 1 2 3 )는의 규칙에 rootless.conf따라 해당 항목이 부팅시 적용되며 다음과 같이 대략적으로 해석 될 수 있다고 제안합니다.

  1. /System계층 내에서는 보다 구체적인 규칙이 그러한 액세스 권한을 부여하는 경우를 제외하고는 프로세스가 파일 또는 폴더에 쓸 수 없습니다.

  2. 내부/System/Library/Extensions 에서 루트 권한이있는 모든 프로세스는 새 파일과 하위 폴더를 만들 수 있습니다.

  3. 그러나 내부의 기존 파일이나 하위 폴더 를 수정하거나 삭제할 수있는 프로세스는 없습니다 /System/Library/Extensions.

내가 실제로 관찰하는 것

그러나의 실제 내용을 살펴보면 /System/Library/ExtensionsSIP가 활성화되어 있음에도 불구하고 완벽하게 쓰기 가능하고 삭제 가능한 여러 파일과 폴더를 발견했습니다.

$ csrutil status
System Integrity Protection status: enabled.
$ ls -lAO /System/Library/Extensions | tail -16
drwxr-xr-x@ 3 root  wheel  restricted   102 20 Apr  2016 corecrypto.kext
drwxr-xr-x@ 3 root  wheel  restricted   102 20 Apr  2016 exfat.kext
drwxr-xr-x  3 root  wheel  -            102 19 Aug  2013 hp_Inkjet9_io_enabler.kext
drwxr-xr-x  3 root  wheel  -            102 27 Apr  2013 hp_fax_io.kext
drwxr-xr-x@ 3 root  wheel  restricted   102 20 Apr  2016 iPodDriver.kext
drwxr-xr-x@ 3 root  wheel  restricted   102 20 Apr  2016 mcxalr.kext
drwxr-xr-x@ 3 root  wheel  restricted   102 20 Apr  2016 msdosfs.kext
drwxr-xr-x@ 3 root  wheel  restricted   102 20 Apr  2016 ntfs.kext
drwxr-xr-x@ 3 root  wheel  restricted   102 20 Apr  2016 pmtelemetry.kext
drwxr-xr-x@ 3 root  wheel  restricted   102 20 Apr  2016 pthread.kext
drwxr-xr-x@ 3 root  wheel  restricted   102 20 Apr  2016 smbfs.kext
drwxr-xr-x@ 3 root  wheel  restricted   102 20 Apr  2016 triggers.kext
drwxr-xr-x@ 3 root  wheel  restricted   102 20 Apr  2016 udf.kext
drwxr-xr-x@ 3 root  wheel  restricted   102 20 Apr  2016 vecLib.kext
drwxr-xr-x@ 3 root  wheel  restricted   102 20 Apr  2016 webcontentfilter.kext
drwxr-xr-x@ 3 root  wheel  restricted   102 20 Apr  2016 webdav_fs.kext

하는 것으로 hp_Inkjet9_io_enabler.kext하고 hp_fax_io.kext(I 월 2016 년 한) 이미 엘 캐피 업데이트 시간 I에 존재 타사 커널 확장이다.

에서 SIP 예외 목록을 검색 할 때 /System/Library/Sandbox/Compatibility.bundle/Contents/Resources/paths타사 확장이 목록에 표시되지 않습니다.

$ defaults read /System/Library/Sandbox/Compatibility.bundle/Contents/Info.plist CFBundleVersion
12.0
$ grep Extensions /System/Library/Sandbox/Compatibility.bundle/Contents/Resources/paths
/System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleRTL815XComposite109.kext
/System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleRTL815XEthernet109.kext

restricted플래그와 com.apple.rootless속성이 없는 12 개 이상의 커널 확장을 발견했습니다 . 영향을받는 모든 커널 확장은 지난 10 년 동안 설치 한 타사 확장 인 것으로 보이며 El Capitan의 업데이트 이후에도 계속 유효합니다.

다음과 같은 수수께끼가 궁금합니다.

내가 알고 싶은 것

Q1. 누락 된 플래그

규칙에 위배되는 것으로 보이지만 타사 커널 확장이없고 실제로 수동으로 만든 파일이없는 경우 어떻게 플래그 나 특성을 /System/Library/Extensions받지 않습니까?restrictedcom.apple.rootlessrootless.conf

예를 들어 ls -dlO경로 체인을 따라 표시하면 다음 과 hp_fax_io.kext같습니다.

$ ruby -rpathname -e 'puts Pathname.new("/System/Library/Extensions/hp_fax_io.kext").enum_for(:ascend).to_a' | xargs ls -dlO
drwxr-xr-x   39 root  wheel  -           1394 19 Jan 11:36 /
drwxr-xr-x@   4 root  wheel  restricted   136 19 Jan 11:29 /System
drwxr-xr-x   80 root  wheel  restricted  2720 10 Jan 19:19 /System/Library
drwxr-xr-x  297 root  wheel  sunlnk     10098 22 Jan 00:57 /System/Library/Extensions
drwxr-xr-x    3 root  wheel  -            102 27 Apr  2013 /System/Library/Extensions/hp_fax_io.kext

또한 요세미티에서 업그레이드 할 때 El Capitan 설치 관리자는 기본적으로 모든 것과 할머니를 SIP 검역소로 옮기는 것을 선택했습니다.

Q2. 시행 시간

내가해야한다면 :

  • 복구 볼륨으로 부팅

  • 그런 다음 rootless.conf원래 볼륨에 줄 을 추가하십시오 .

    /usr/local/*
    
  • 원래 볼륨으로 다시 재부팅하면

그러면 다음에 다시 부팅 할 때 macOS가 모든 파일 /usr/local/restricted플래그 와 함께 사용합니까?

그렇지 않다면, 이것은 나의 마지막 질문으로 연결됩니다 :

Q3. 실제 목적

rootless.conf 실제로 어떤 목적에 도움이됩니까?


2
물론 지역 사회의 누군가가 몇 가지 대답이나 힌트를 얻었기를 바랍니다. 비슷한 질문이 있습니다.
CXJ

2
이에 따라 rootless.conf (SIP 비활성화, 파일 편집, SIP 다시 활성화)를 편집하여 보호되는 디렉토리를 변경해서는 안됩니까? 이것은 실제로 발생하지 않는 것 같습니다 ... 그래서 파일을 전혀 읽지 않습니까?
Wowfunhappy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.