سؤال ما الذي ينبغي علي فعله بشأن com.apple.quarantine؟


لقد قمت بتنزيل بعض .jar الملفات من الإنترنت وترغب في استخدامها تحت نظام التشغيل Mac OS X. ولكن يبدو أن نظام التشغيل قد وضع علامة عليها بالخاصية الموسعة com.apple.quarantine (لا يوجد مؤشر على هذا حتى لاحظت "@" في ال ls -l وحسب كيفية استخدامها ls -l@) - على ما يبدو لأنه تم تنزيلها من الإنترنت. ما هي الطريقة الصحيحة للتعامل مع هذا؟


84
2017-08-23 21:10


الأصل




الأجوبة:


تتم إضافة هذه السمة بحيث يمكنها طلب تأكيد المستخدم في المرة الأولى التي يتم فيها تشغيل البرنامج الذي تم تنزيله ، وذلك للمساعدة في إيقاف البرامج الضارة. عند التأكيد ، يجب إزالة السمة تلقائيًا ، ثم يتم تشغيل البرنامج بشكل طبيعي.


57
2017-08-23 21:39



ahhhhhh .... حسنا هذا منطقي. إذن ، هو عقد بين تطبيقات المتصفح التي تحفظ الملفات ، و OS و / أو Java عند تشغيل الملفات التنفيذية. - Jason S


لا تفعل يملك ليتعامل مع. افتحه وسيطلب OS X الحصول على إذن منك. أو مثل اقتراح ريتشارد ، احذفه باستخدام شيء مثل:

xattr -d com.apple.quarantine my_jar.jar

للقيام بذلك تلقائيًا لأي ملف تم تنزيله ، يمكنك إرفاق إجراء مجلد إلى مجلد التنزيل ، كما هو موضح في macosxhints.com 10.5: إزالة علامة تحذير "الملف الذي تم تنزيله".

تم نشر ما يلي على macosxhints.com منذ وقت طويل ، لـ Safari: 10.5: تعطيل تحذير ملف "نزل من الإنترنت"، مدعيا يمكن للمرء أن يزيل VerifiedDownloadPlugin.plugin من عند /Library/Internet Plug-Ins. لم أختبر ذلك.

جانبا: في بعض الأحيان يحتاج المرء لبدء برنامج واحد عدة مرات على جهاز ماكنتوش. يمكن القيام بذلك باستخدام cd /Applications/some-application/ تليها open -n "Application Name.app". هذا حقا يحتاج الى .app لاحقة. جري open -n "Application Name" قد تحصل على GateKeeper واحدًا يوقف الوصول:

لا يمكن فتح "اسم التطبيق" لأنه من مطور غير محدد.

تسمح تفضيلات الأمان لديك بتثبيت التطبيقات فقط من Mac App Store والمطورين المحددين.

أعلاه ، حتى إزالة السمة الموسعة com.apple.quarantine لا يصلح ذلك ، ولكن باستخدام .app لاحقة تعمل على ما يرام.

(أنا لا أنصح أي شخص بالتخلص فعليًا من الإجراءات الأمنية.)


75
2017-08-23 21:40



لدي عدد من الملفات مثل هذا واضطررنا إلى إزالة xattr يدويًا لأن OS X لم تطلب الإذن ... - Brian Knoblauch
Brian ، ولم ينقر بزر الماوس الأيمن ، افتح لا يطالبك أيضًا؟ (وهذا يساعد في بعض الأحيان إذا كان نظام التشغيل OS X يقوم بدفع واحدة ، لكنه لا يعرض خيار المتابعة.) - Arjan
شكرا ل Xattr تعويذة ، أقل عن معرفة كيفية إطلاق بعض الحوار غير المناسب (IMO) على إطار عمل. - Sue Spence


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

19
2017-08-23 21:33



لا تستخدم sudo عندما لا تكون مضطرًا لذلك. - s4y
حرّر الإجابة لإزالة "sudo". - Richard Hoskins
كيف تفعل هذا بشكل متكرر لجميع الملفات في الدليل؟ - Landon Kuhn
@ landon9720 - (حاليًا) أدناه الإجابة لديه تعليق تسمح لك بتوجيه xattr للعمل بشكل متكرر على محتويات الدليل الذي تم توفيره - user66001
find /path/to/dir -exec xattr -d com.apple.quarantine {} \; - sepehr


يمكنك تعطيل التحذيرات بشكل دائم defaults write com.apple.LaunchServices LSQuarantine -bool false. كما يقوم بتعطيل مربعات حوار Gatekeeper حتى إذا لم تسمح بتنزيل التطبيقات من أي مكان في System Preferences.


4
2018-05-03 13:36





لقد وجدت الأمر التالي

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

مفيد جدا عند محاولة التخلص من السمة. لاحظ علامات الاقتباس المزدوجة حولها $l - أنت في حاجة إليها إذا كان مجلد تطبيقاتك يحتوي على ملفات فارغة في اسمه.


1
2018-03-31 20:44



يمكنك أيضا استخدام xattr -rd com.apple.quarantine Application.app. - user495470
أنت لا تحتاج إلى الوقت ... حلقة. يمكنك العثور على كل ذلك: "find Application.app -print -exec xattr -d com.apple.quarantine {} \؛" - rivimey
"الخيار -r غير معترف به" - Jamie Ivanov
لا حاجة إلى إنتاج عملية جديدة لكل ملف ، ولا يجب عليك إزالة xattribute من الملف إذا لم يكن موجودًا في المقام الأول: find . -xattrname com.apple.quarantine -print0 | xargs -0 xattr -d com.apple.quarantine - dland