अहस्ताक्षरित एप्लिकेशन को खोलने के लिए `ओपन` कमांड को मजबूर करना?


21

मुझे अपनी सुरक्षा प्राथमिकताएं "मैक ऐप स्टोर और डाउनलोड किए गए डेवलपर्स" से डाउनलोड किए गए ऐप्स की अनुमति देने के लिए मिली हैं। जब मैं एक अहस्ताक्षरित एप्लिकेशन को खोलने का प्रयास करता हूं:

open xyz.app

मैं निम्नलिखित देखता हूं:

ऐप नहीं खोला जा सकता है

आमतौर पर, मैं ऐप पर राइट-क्लिक करता हूं और "ओपन" पर क्लिक करता हूं। यह एक समान संवाद लाता है, लेकिन इसमें "वैसे भी खुला" बटन शामिल है:

ऐप को ओपन बटन के साथ नहीं खोला जा सकता है

क्या केवल openकमांड का उपयोग करके ऐसा करने का एक तरीका है - कुछ इस तरह:

open --even-if-unsigned xyz.app

जवाबों:


33
  1. ऐप में गेटकीपर लेबल बनाएं और जोड़ें। ('स्वीकृत' एक मनमाना स्ट्रिंग है।)

    spctl --add --label "Approved" /path/to/xyz.app
  2. लेबल के साथ सभी एप्लिकेशन स्वीकृत करें।

    spctl --enable --label "Approved"

    यह केवल एक बार किए जाने की जरूरत है और भविष्य में ऐप्स में एक ही नामित लेबल को जोड़ने से स्वचालित रूप से उनकी पहुंच सक्षम हो जाती है।

  3. हमेशा की तरह ऐप खोलें।

    open xyz.app

Spctl (SecAssessment system policy security) के बारे में अधिक जानकारी के लिए, मैन पेज देखें।


3
आह, उन चीजों की सूची के लिए एक नया अतिरिक्त, जिन्हें मैं पूर्व में केवल GUI-ly करना जानता था, और अब कमांड लाइन पर कर सकते हैं! धन्यवाद!
एलएसपीस

19

आप एप्लिकेशन से संगरोध छीन सकते हैं:

xattr -r -d com.apple.quarantine /path/to/xyz.app

आप sudoअनुमतियों के आधार पर उस आदेश के लिए उपयोग / आवश्यकता कर सकते हैं ।

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


मुझे यह जवाब बहुत पसंद है। यह एक दया है जिसे मैं केवल एक ही चुन सकता हूँ!
बोह

यह मेरे मैनुअल स्थापित OpenJDK इंस्टॉलेशन के लिए काम करता है। धन्यवाद!
फेसएक्सोट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.