मुझे com.apple.quarantine के बारे में क्या करना चाहिए?


90

मैं कुछ डाउनलोड किया है .jarइंटरनेट से फ़ाइलों और मैक ओएस एक्स के तहत उन्हें प्रयोग करना चाहते हैं लेकिन ओएस उन्हें विस्तारित विशेषता com.apple.quarantine (इस का कोई संकेत नहीं के साथ टैग की है जब तक मैंने देखा है "लगता है @में" ls -lऔर पता लगा कि कैसे उपयोग करें ls -l@) - जाहिरा तौर पर क्योंकि वे इंटरनेट से डाउनलोड किए गए हैं। इससे निपटने का सही तरीका क्या है?

जवाबों:


63

यह विशेषता इसलिए जोड़ी जाती है ताकि यह उपयोगकर्ता के पुष्टिकरण के लिए पहली बार डाउनलोड किए गए प्रोग्राम को चलाने में मदद कर सके, ताकि मैलवेयर को रोकने में मदद मिल सके। पुष्टि होने पर विशेषता को स्वचालित रूप से हटा दिया जाना चाहिए, और फिर कार्यक्रम सामान्य रूप से चलेगा।


आह… .हह ठीक है जो समझ में आता है। इसलिए यह ब्राउज़र कार्यान्वयन के बीच एक अनुबंध है जो फाइलों को सहेजता है, और जब यह निष्पादनयोग्य चलता है तो ओएस और / या जावा।
जेसन एस

सिवाय इसके कि इसे खुले में नहीं हटाया जाता है और यह अनिश्चित रूप से जारी रहता है, तब भी जब इसे खींचा जाता है / अनुप्रयोग
एरिक एग्नर

83

आपको इससे निपटना नहीं है । इसे खोलें और OS X आपकी अनुमति मांगेगा। या जैसे रिकर्ड ने सुझाव दिया है, उसे कुछ इस तरह से हटाएं:

xattr -d com.apple.quarantine my_jar.jar

किसी भी डाउनलोड की गई फ़ाइल के लिए स्वचालित रूप से ऐसा करने के लिए आप डाउनलोड फ़ोल्डर में एक फ़ोल्डर कार्रवाई संलग्न कर सकते हैं, जैसे कि 10.5 में macosxhints.com पर वर्णित है : 'डाउनलोड की गई फ़ाइल' चेतावनी ध्वज निकालें

और निम्न को macosxhints.com पर बहुत समय पहले पोस्ट किया गया था, सफारी के लिए: 10.5: इंटरनेट से डाउनलोड की गई 'फ़ाइल चेतावनी' को अक्षम करें , यह दावा करते हुए कि कोई भी हटा सकता VerifiedDownloadPlugin.pluginहै /Library/Internet Plug-Ins। मैंने वह परीक्षण नहीं किया।

एक तरफ के रूप में: कभी-कभी एक मैक पर एक एकल कार्यक्रम को कई बार शुरू करने की आवश्यकता होती है। जिसका उपयोग करके cd /Applications/some-application/किया जा सकता है open -n "Application Name.app"। यह वास्तव में .appप्रत्यय की जरूरत है ; दौड़ने open -n "Application Name"से एक गेटकीपर को रोकना पड़ सकता है:

"एप्लिकेशन का नाम" खोला नहीं जा सकता क्योंकि यह किसी अज्ञात डेवलपर का है।

आपकी सुरक्षा प्राथमिकताएँ मैक ऐप स्टोर और पहचाने गए डेवलपर्स से केवल ऐप्स की स्थापना की अनुमति देती हैं।

ऊपर, यहां तक ​​कि विस्तारित विशेषता को हटाने से com.apple.quarantineयह ठीक नहीं होता है, लेकिन .appप्रत्यय का उपयोग करना ठीक काम करता है।

(मैं वास्तव में सुरक्षा उपायों से छुटकारा पाने के लिए किसी को सलाह नहीं दे रहा हूं।)


1
मेरे पास इस तरह की कई फाइलें हैं और उन्हें मैन्युअल रूप से xattr को हटाना पड़ा है क्योंकि OS X ने अनुमति नहीं मांगी ...
ब्रायन नोब्लुच

1
@ ब्रायन, और राइट-क्लिक किया, ओपन या तो शीघ्र नहीं है? (कभी-कभी यह मदद करता है कि अगर ओएस एक्स एक संकेत देता है, लेकिन जारी रखने का विकल्प नहीं दिखाता है।)
अर्जन

1
Xattr भस्मीकरण के लिए धन्यवाद, एक रूपरेखा पर कुछ अनुचित (IMO) संवाद को ट्रिगर करने के तरीके का पता लगाने की तुलना में कम परेशान करना।
मुकदमा स्पेंस

22
 xattr -d com.apple.quarantine /path/to/file

3
sudoजब आपको नहीं करना है तो उपयोग न करें ।
15

1
The सुडो ’को हटाने का उत्तर दिया।
रिचर्ड हॉकिंस

1
आप एक निर्देशिका में सभी फ़ाइलों के लिए यह पुनरावर्ती कैसे करते हैं?
लैंडन कुहन

1
@ landon9720 - (वर्तमान में) नीचे दिए गए उत्तर में एक टिप्पणी है जो आपको xattr को एक आपूर्ति निर्देशिका की सामग्री पर पुनरावर्ती रूप से काम करने का निर्देश देती है
user66001

2
find /path/to/dir -exec xattr -d com.apple.quarantine {} \;
sepehr

6

आप चेतावनी को स्थायी रूप से अक्षम कर सकते हैं defaults write com.apple.LaunchServices LSQuarantine -bool false। यदि आप सिस्टम वरीयता में कहीं से भी डाउनलोड किए गए एप्लिकेशन को अनुमति नहीं देते हैं, तो भी यह गेटकीपर संवाद को अक्षम कर देता है।


4

मुझे निम्न कमांड मिली

find Application.app | while read l; do echo $l; xattr -d com.apple.quarantine "$l"; done

बहुत उपयोगी जब विशेषता से छुटकारा पाने की कोशिश कर रहा है। चारों ओर दोहरे उद्धरण चिह्नों पर ध्यान दें $l- आपको उनकी आवश्यकता है यदि आपके एप्लिकेशन फ़ोल्डर में उनके नाम की रिक्त फाइलें हैं।


9
आप भी इस्तेमाल कर सकते हैं xattr -rd com.apple.quarantine Application.app
Lri

4
जबकि आप की जरूरत नहीं है ... पाश। सभी इसे कर सकते हैं: "Application.app -print -exec xattr -d com.apple.quarant {{}!" खोजें
rivimey

"विकल्प -आर मान्यता प्राप्त नहीं है"
जेमी इवानोव

प्रत्येक फ़ाइल के लिए एक नई प्रक्रिया को स्पॉन करने की आवश्यकता नहीं है, और न ही आपको फ़ाइल से xattribute को हटाना होगा यदि इसमें पहले स्थान पर नहीं है:find . -xattrname com.apple.quarantine -print0 | xargs -0 xattr -d com.apple.quarantine
dland

ये सभी कमांड लाइन उदाहरण केवल तब काम करते हैं जब आप ऐप वाले डायरेक्टरी में होते हैं। @ डलैंड findमें एक -execप्राथमिक भी है । find /Applications -xattrname com.apple.quarantine -exec xattr -d com.apple.quarantine {} \; आप अपनी /Applicationsइच्छानुसार पूर्ण पथ से प्रतिस्थापित कर सकते हैं, जैसे /Users/jdoe/Downloads यदि आप उस निर्देशिका में हैं जहाँ फ़ाइल है, तो बस वही करें xattr -d com.apple.quarantine <target>जहाँ <target>फ़ाइल या ऐप का नाम है।
user2531336

0

xattr के पास अब -r फ़्लैग को रिकर्व करने के लिए है। इसलिए आपको उस सामान को ढूंढने की जरूरत नहीं है। इसके अलावा इसमें एक -c है जो सभी झंडे (फाइंडरइन्फो सहित) को साफ करेगा, हमेशा अनुशंसित नहीं जब तक कि आप वास्तव में इसके पागल नहीं होते। :-)


उह ... आप किस प्रश्न का उत्तर दे रहे हैं?
जेसन एस

ऐसा लगता है कि आप इस प्रश्न पर एक और उत्तर पर टिप्पणी कर रहे हैं ( superuser.com/a/126227/1162 ) अपने स्वयं के उत्तर देने के बजाय।
जेसन एस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.