TCC.db को "Foo.app" को बायपास करने के लिए स्वयं मशीन पर 'Bar.app' को नियंत्रित करना चाहते हैं


15

मैं अपनी मशीन पर विभिन्न प्रकार के अनुप्रयोगों को नियंत्रित करने के लिए Apple ईवेंट्स का व्यापक उपयोग करता हूं। मोजावे में पेश किए गए नए सुरक्षा संकेत गंभीर हैं

यहाँ छवि विवरण दर्ज करें

MacOS के पिछले संस्करणों में, एक बार एक ऐप को "आपके कंप्यूटर को नियंत्रित करने" की अनुमति दी गई थी, यह आपकी मशीन पर ऐप्पल की घटनाओं को किसी अन्य ऐप पर भेजने में सक्षम था। Mojave में, प्रत्येक एप्लिकेशन को नियंत्रित करने के लिए एक बार यह अनुमति मैन्युअल रूप से दी जानी चाहिए।

एक बार जब कोई उपयोगकर्ता पहुँच प्राप्त करता है, तो उनका चयन दो sqlite डेटाबेसों में से एक में संग्रहीत किया जाता है:

  1. ~/Library/Application Support/com.apple.TCC/TCC.db
  2. /Library/Application Support/com.apple.TCC/TCC.db

    • ध्यान दें कि # 2 केवल रूट उपयोगकर्ता को दिखाई देता है।
    • ध्यान दें कि सिस्टम इंटीग्रिटी प्रोटेक्शन अक्षम है।

क्या यह अनुमति देने के लिए स्वचालित रूप से अनुमति देने और इन सुरक्षा संकेतों को बायपास करने के लिए सीधे इन साइक्लाइट डेटाबेस को संपादित करना संभव होगा?


@ user3439894 धन्यवाद, SIP मेरी मशीन पर पहले से ही अक्षम है। ऐसा नहीं लगता है कि अजगर कार्यक्रम Mojave के नए "स्वचालन" संरक्षण के साथ संगत है।
वाहफुन्प्पी

ऐप्पल इवेंट्स को विभिन्न एप्स में भेजता है (यानी आपके पास कितने Foo.app हैं और आपके पास कितने Bar.app हैं और क्या यह मैट्रिक्स स्पार्स या सघन है?)। क्या आप एक समाधान के साथ ठीक हैं जो पिछले 3 मशीनों को नियंत्रित नहीं करता है (या उस बिंदु पर धन की आवश्यकता है)?
bmike

@bmike मेरे एप्स्क्रिप्शंस में "अप्लीकेशन बताने के लिए एप्लिकेशन (टेक्स्ट के रूप में सबसे आगे का रास्ता)" जैसी लाइनें हैं, इसलिए Bar.app कोई भी इंस्टॉल किया गया ऐप हो सकता है। यह सब एक मशीन पर होता है।
वॉवफुन्हापी

इसे एक बार में ही पूरा कर लें tell app "Finder" to open every application file in the entire contents of (path to applications folder) as alias list। तो फिर repeat with A in the result... ignoring application responses... quit the application named A... end ignoring... end repeat। यह दर्दनाक होगा, लेकिन यह एक बैंडेड को चीरने जैसा होगा।
CJK

जवाबों:


7

TCC.db डेटाबेस को सीधे एक्सेस करने के लिए Apple का समर्थन नहीं किया जाता है, भले ही आप SIP को अक्षम कर दें , क्योंकि बड़ी कंपनियों के उपयोगकर्ताओं की सुरक्षा की उनकी नीति के कारण जो आप ऑनलाइन करते हैं, सब कुछ ट्रैक करना पसंद करते हैं, और बिना पूछे इस चोरी से बाईपास भी करते थे। उपयोगकर्ताओं के लिए अनुमति। हालांकि, मोजावे में भी, इसे दरकिनार करने का एक तरीका है, लेकिन एक पकड़ के साथ: यह केवल तभी काम करता है जब किसी दिए गए कंप्यूटर को एमडीएम प्रोग्राम में नामांकित किया जाता है । एमडीएम कार्यक्रम के बारे में अधिक जानने के लिए यहां जाएं

कई कंप्यूटरों के लिए इसे बायपास करने के लिए आप GitHubtccprofile.py पर उपलब्ध अजगर लिपि का उपयोग कर सकते हैं ।

आप यहां क्या कर सकते हैं और क्या नहीं, इसकी गहन चर्चा यहां मिल सकती है

जहाँ तक मुझे पता है, यह एकमात्र तरीका है जिससे कि Mojave से उपयोगकर्ता की अनुमति माँगने के लिए बाईपास किया जा सके।


1
मेरी निजी लिपियों के लिए एमडीएम प्रोफ़ाइल प्राप्त करना वास्तव में व्यावहारिक नहीं है। SIP अक्षम के साथ, वास्तव में मुझे डेटाबेस को संपादित करने से क्या रोक रहा है? मैं मानता हूं कि सिस्टम को सीधे बंद नहीं किया जा सकता है, लेकिन एसआईपी के बिना मैं अपने कंप्यूटर पर किसी भी फाइल को संपादित करने में सक्षम होना चाहिए, जिसमें डेटाबेस भी शामिल है जो सभी श्वेतसूची को संग्रहीत करता है।
Wowfunhappy

1
जाहिर तौर पर, Apple ने निजी API guarded_open_np का उपयोग करके इस डेटाबेस तक पहुँचने के तरीके को बदल दिया। मैंने पहले ही रूसी हैकर्स के कुछ पोस्टों को आईडीए प्रो के साथ इस एपीआई को रिवर्स करने की कोशिश कर रहा था, लेकिन अभी तक बड़ी सफलता के बिना।
ज्वारेला

भले ही Apple सामान्य रूप से श्वेतसूची को कैसे संपादित करे, यह एक मानक sqlite डेटाबेस प्रतीत होता है, जैसा कि इस तथ्य से स्पष्ट है कि इसे डेटाबेस संपादकों में खोला और पढ़ा जा सकता है। यदि कोई अन्य कारण है कि फ़ाइल को सीधे संपादित करना और बदलना असंभव है (उदाहरण के लिए, यदि macOS डेटाबेस का चेकसम स्टोर करता है, और उस चेकसम को स्वयं Apple द्वारा एन्क्रिप्ट किया गया है), तो मैं इसका एक स्पष्ट और व्यापक विवरण देखना चाहूंगा आपके जवाब में! धन्यवाद।
वाहफुन्हापी

1
+1, लेकिन मुझे ब्लॉग पर भरोसा नहीं है। क्या हम उस वेबसाइट से सामग्री ले सकते हैं और इसे सीधे उद्धृत कर सकते हैं या इसे ड्राइव में जोड़ सकते हैं या ऐसा कुछ कर सकते हैं?
JBis

2

मुझे यह प्रविष्टि हटाने के लिए मिला।

sudo sqlite3 /Library/Application\ Support/com.apple.TCC/Tcc.db "जहां ग्राहक" %appnamehere%" जैसे पहुंच से हटाएं

appnamehereएप्लिकेशन के नाम से " " बदलें , क्योंकि यह एक्सेसिबिलिटी लिस्ट (% संकेत रखें) में दिखाई देता है।


2
यह डेटाबेस से एक ऐप को हटा देगा, अनुमतियों को नहीं जोड़ेगा, है ना? जब मैंने इसे (जोड़ने या हटाने) की कोशिश की तो यह कुछ भी नहीं करता था।
वाहफुन्हापी

1
कैटालिना में आप अनावश्यक रूप से फ़ाइल को रूट के रूप में भी नहीं देख सकते हैं ... और अगर मैं निर्देशिका को रूट के रूप में देखता हूं तो मुझे प्राप्त होता है । Error: unable to open database "/Library/Application Support/com.apple.TCC/TCC.db": unable to open database filelsls: : Operation not permitted
माइकल

@ क्या आप TCC.dbकैटालिना पर पढ़ने में सक्षम थे ? मैं एक ही समस्या के रूप में अच्छी तरह से, निर्देशिका lsमें भी नहीं कर सकते हैंcom.apple.TCC
WallTearer

1
@AllTearer हां, मुझे सिस्टम प्रीफरेंस में सिक्योरिटी और प्राइवेसी के तहत टर्मिनल और / या बिन / बैश तक की फाइल सिस्टम तक पूरी पहुंच सक्षम करनी है
माइकल

@ मिचेल शांत, धन्यवाद! उसी क्षण मैं फुल डिस्क एक्सेस को सक्षम करने के लिए इसी तरह के सुझाव के साथ निम्नलिखित लेख भी पढ़ रहा था - blog.kolide.com/macos-catalina-osquery-a6753dc3c35c अंत में मैंने iTerm2 को एक्सेस की अनुमति दी और tccutil के साथ सुरक्षा सेटिंग्स को पढ़ने में सक्षम था। py यूटिलिटी जैसे sudo tccutil --list( github.com/jacobsalmela/tccutil )
WallTearer

0

SIP लाइब्रेरी डायरेक्टरी का समर्थन नहीं करता है। तो, इसका मतलब है कि आप अभी भी टर्मिनल के माध्यम से TCC.db फाइल को कुछ कमांड द्वारा लिख ​​सकते हैं।

यहाँ लिंक है: एसआईपी के बारे में


TCC.db फाइलें SIP द्वारा संरक्षित हैं, भले ही उनकी निर्देशिकाएं न हों। मैं परवाह किए बिना परवाह नहीं करता हूं- मैं सिर्फ यह जानना चाहता हूं कि कमांड मुझे श्वेतसूची एप्लिकेशन क्या देगा।
वाहफुन्हापी

Apple.stackexchange.com/questions/362865/… इस लिंक से आपकी मदद मिल सकती है
Coder123
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.