मेरा `रूटलेस.कॉन्फ़` हमेशा एसआईपी की पसंद को प्रभावित नहीं करता है कि किन फाइलों को` प्रतिबंधित` फ्लैग ट्रीटमेंट मिलता है?


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/Extensionsअपने आश्चर्य की कई फाइलों और फ़ोल्डरों की खोज की , जो एसआईपी के सक्रिय होने के बावजूद पूरी तरह से लिखने योग्य और हटाने योग्य हैं:

$ 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तृतीय-पक्ष कर्नेल एक्सटेंशन हैं जो उस समय पहले से मौजूद थे जो मैंने एल कैपिटान को अपडेट किया था (जो मैंने मई 2016 में किया था)।

जब मैं SIP अपवादों की सूची खोजता /System/Library/Sandbox/Compatibility.bundle/Contents/Resources/pathsहूं, तो मैं उन 3-पार्टी एक्सटेंशनों को वहां सूचीबद्ध नहीं देखता:

$ 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विशेषता का भी अभाव था ; सभी प्रभावित कर्नेल एक्सटेंशन 3-पार्टी एक्सटेंशन हैं जो मैंने पिछले दशक के दौरान स्थापित किए थे, और स्पष्ट रूप से एल कैपिटन के अपडेट से बच गए हैं।

जो मुझे निम्नलिखित conundrums के बारे में सोच कर छोड़ देता है:

मुझे क्या पता अच्छा लगेगा

Q1। गुम झंडे

यह कैसे आया कि कोई 3-पार्टी कर्नेल एक्सटेंशन नहीं है - और वास्तव में कोई भी फ़ाइल जो मैं मैन्युअल रूप से नहीं बनाता हूं /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

मुझे यह भी याद है कि उस समय जब मैंने योसेमाइट से अपग्रेड किया था, एल कैपिटन इंस्टॉलर ने मूल रूप से सब कुछ और उनकी दादी को कई उदाहरणों में एसआईपी संगरोध में स्थानांतरित करना चुना।

Q2। प्रवर्तन का समय

अगर मैं:

  • एक रिकवरी वॉल्यूम में बूट करें,

  • फिर rootless.confएक पंक्ति में (मूल मात्रा पर) जोड़ें :

    /usr/local/*
    
  • और फिर मूल मात्रा में फिर से रिबूट करें,

macOS तो अगले रिबूट पर झंडे के /usr/local/साथ सभी फाइलों को डुबो देगा restricted?

यदि नहीं, तो यह मुझे मेरे अंतिम प्रश्न पर लाता है:

Q3। वास्तविक उद्देश्य

rootless.conf वास्तव में क्या उद्देश्य है ?


2
यकीन है कि समुदाय में किसी के पास कुछ जवाब या संकेत भी थे। मुझे ऐसे ही सवाल मिले हैं।
सीएक्सजे

2
इसके अनुरूप, rootless.conf (SIP को अक्षम न करें, फ़ाइल को संपादित करें, फिर से सक्षम करें SIP) को बदलना नहीं चाहिए ताकि निर्देशिका सुरक्षित रहे? यह वास्तव में ऐसा प्रतीत नहीं होता है ... तो क्या फ़ाइल बिल्कुल पढ़ी जा रही है?
वाहफुन्प्पी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.