ओएस एक्स को संगृहीत के रूप में एक फ़ोल्डर चिह्नित करने का क्या कारण है?


27

मेरे पास एक फ़ोल्डर था ~/Sites, चलो इसे कॉल करें Fooजिससे मैं अपाचे के माध्यम से एक Wordpress साइट-इन-डेवलपमेंट साझा कर रहा था। यह ठीक काम कर रहा था, मैंने मैप किया foo.local सेवा मेरे 127.0.0.1 मेरे होस्ट फ़ाइल में और मेरे लैपटॉप पर वहाँ से साइट तक पहुँच रहा था।

फिर, मैंने अपने iPhone से साइट तक पहुंचने का प्रयास किया। मैं रूट इंडेक्स को देखने में सक्षम था ~/Sites सर्फिंग से फोन से my-computers-hostname.local, लेकिन Wordpress साइट तक नहीं पहुंच सका, क्योंकि इसका पता लगाने के लिए इसे स्थापित किया गया था foo.local, और इसलिए अपने डेटाबेस में उस URL के हार्डकोडेड संदर्भ थे। जब मैंने इसकी URL सेटिंग को बदलने का प्रयास किया my-computers-hostname.localकुछ बहुत ही अजीब हुआ: परिवर्तन को बचाने का प्रयास करते समय मुझे एक प्राधिकरण त्रुटि मिली। उस बिंदु से आगे, वर्डप्रेस साइट वाला पूरा फ़ोल्डर इंडेक्स पेज से गायब हो गया foo.local / my-computers-hostname.local, और URL द्वारा इसे एक्सेस करने के किसी भी प्रयास को 403 के साथ पूरा किया गया - प्राधिकरण वेबसर्वर से त्रुटि से इनकार कर दिया।

टर्मिनल में विचाराधीन फोल्डर को सूचीबद्ध करने से मुझे पता चला कि com.apple.quarantine विस्तारित विशेषता उस पर और सभी फ़ाइलों में लागू की गई थी। क्या कारण होगा ऑपरेटिंग सिस्टम फ़ोल्डर को संगरोध करने के लिए? क्या यह किसी अन्य मशीन, या Wordpress के कॉन्फ़िगरेशन के साथ कुछ करने का प्रयास था?

जवाबों:


36

com.apple.quarantine विस्तारित विशेषताओं का संभवत: अपाचे के साथ होने वाले मुद्दों से कोई लेना-देना नहीं है। वे का हिस्सा हैं फ़ाइल संगरोध सुविधा जिसे 10.5 में जोड़ा गया था :

फाइल क्वारंटाइन तेंदुए में एक नई सुविधा है जो ट्रोजन हॉर्स के हमलों से उपयोगकर्ताओं की रक्षा के लिए डिज़ाइन की गई है। यह उन अनुप्रयोगों को अनुमति देता है जो इंटरनेट से फ़ाइल सामग्री को "संगरोध" में फ़ाइलों को रखने के लिए इंगित करते हैं कि फ़ाइल एक अविश्वसनीय स्रोत से हो सकती है। एक अनुप्रयोग एक फ़ाइल को केवल एक या अधिक संगरोध गुणों को मान निर्दिष्ट करके बताता है जो फ़ाइल कब और कहाँ से आती है के बारे में जानकारी संरक्षित करती है।

जब लॉन्च की गई सेवा एपीआई एक संगरोधित फ़ाइल को खोलने के लिए उपयोग की जाती है और फ़ाइल एक एप्लिकेशन, स्क्रिप्ट, या अन्य निष्पादन योग्य फ़ाइल प्रकार प्रतीत होती है, तो उपयोगकर्ता को यह समझने में पुष्टि होती है कि फ़ाइल किसी प्रकार का अनुप्रयोग है।

com.apple.quarantine विस्तारित विशेषताओं को तब जोड़ा जा सकता है जब:

  • आप एक संगरोध-जागरूक एप्लिकेशन के साथ एक फ़ाइल डाउनलोड करते हैं, जैसे कि सफारी, क्रोम या ट्रांसमिशन। फ़ायरफ़ॉक्स जैसे कुछ अनुप्रयोगों के लिए, संगरोध को सक्षम करने के लिए मजबूर किया जाता है /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Exceptions.plist
  • आप आर्काइव यूटिलिटी या ओएस एक्स जैसे एप्लिकेशन के साथ एक आर्काइव निकालते हैं tar या zip
  • आप एक एप्लिकेशन के साथ एक फ़ाइल बनाते हैं LSFileQuarantineEnabled में सच करने के लिए सेट Info.plist

विस्तारित विशेषताओं में संगरोध स्थिति के लिए फ़ील्ड हैं, टाइमस्टैम्प, एजेंट जो संगरोध घटना उत्पन्न करता है, और कभी-कभी एक यूयूआईडी:

$ xattr -p com.apple.quarantine Worksheet_v10.4.pdf
0042;51ea420b;Safari.app;5E2F48EA-1356-4D57-BFEA-571EE8ADC08C
$ date -r 0x51ea420b
Sat Jul 20 10:53:47 EEST 2013
$ sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2 .dump|grep 5E2F48EA-1356-4D57-BFEA-571EE8ADC08C
INSERT INTO "LSQuarantineEvent" VALUES('5E2F48EA-1356-4D57-BFEA-571EE8ADC08C',395999627.472166,'com.apple.Safari','Safari','http://images.apple.com/server/docs/Worksheet_v10.4.pdf',NULL,NULL,0,NULL,'http://images.apple.com/',NULL);

पहला क्षेत्र एक हेक्साडेसिमल बिटफील्ड है, जहां उदाहरण के लिए सातवीं बिट (2 ^ 6 या 0x40) आमतौर पर पहली बार एक फ़ाइल खोलने के बाद सेट हो जाती है।

आप के साथ विस्तारित विशेषताओं को हटा सकते हैं xattr -dr com.apple.quarantine ~/Sites, लेकिन शायद अपाचे पर इसका कोई असर नहीं होगा। हालांकि यह "इंटरनेट से डाउनलोड की गई एक फ़ाइल है" संवाद को अक्षम कर देगा।


"विकल्प -r मान्यता प्राप्त नहीं है"
Jamie Ivanov

2
xattr -dr com.apple.quarantine <path> काम करता है!
parasrish

विस्तृत जानकारी के लिए संदर्भ: discussions.apple.com/message/15507936#message15507936
parasrish

अविश्वसनीय रूप से कष्टप्रद सुविधा, मुझे कभी भी इसका कोई उपयोग नहीं करना पड़ा। समझाने के लिए धन्यवाद
cjohansson

xattr -dr com.apple.quarantine <path> मुझे दिया option -r not recognized, परंतु xattr -d com.apple.quarantine <path> काम किया!
saulspatz
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.