ソースが言うこと
他の人と同じように、私の/System/Library/Sandbox/rootless.conf
ファイルには次のエントリが含まれています。
$ cat /System/Library/Sandbox/rootless.conf
[…]
/System
[…]
* /System/Library/Extensions
/System/Library/Extensions/*
[…]
私が見つけた主題に関する すべてのソース(例1 2 3)は、のルールに従ってrootless.conf
、これらのエントリが起動時に適用され、次のように大まかに解釈できることを示唆しているようです:
/System
階層内では、より具体的なルールがそのようなアクセスを許可する場合を除いて、プロセスはファイルまたはフォルダーへの書き込みを許可されません。内部では
/System/Library/Extensions
、root権限を持つプロセスはすべて、新しいファイルとサブフォルダを作成できます。ただし、プロセスは、内の既存のファイルまたはサブフォルダを変更または削除することはできません
/System/Library/Extensions
。
私が実際に観察するもの
ただし、の実際の内容を調べた/System/Library/Extensions
ところ、驚いたことに、SIPがアクティブであるにも関わらず、完全に書き込みと削除が可能ないくつかのファイルとフォルダーを発見しました。
$ 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
は、El Capitanに更新したときにすでに存在していたサードパーティのカーネル拡張機能であることに注意してください(2016年5月に行いました)。
で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
、restricted
フラグやcom.apple.rootless
属性を受け取ることはありますrootless.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
実際に役立つ目的は何ですか?