Як я можу "відкрити додаток від невстановленого розробника" без використання графічного інтерфейсу?


13

В основному, я використовував власний Safari.appвеб-браузер для завантаження сторонньої програми, і я хочу запустити / openце з комфорту моєї bashоболонки / Terminal.appCLI; незважаючи на таке повідомлення про помилку:

“<unidentified_thirdparty.app>” cant be opened because it is from an unidentified 
 developer. Your security preferences allow installation of only apps from the Mac 
 App Store and identified developers. Safari downloaded this file on <today's_date> 
 from <the.inter.net>.
                                          |[OK]|

Відповіді:


31

Вам потрібно буде змінити налаштування в розділі Налаштування системи > Безпека та конфіденційність > Загальне > Дозволити завантаження програм: з будь-якого місця або в термінал , xattr зніміть атрибут com.apple.quarantine з завантажених файлів.

xattr -dr com.apple.quarantine "unidentified_thirdparty.app"

Мені було відомо про метод GUI. Наступна частина виглядає спот-на-хоч. На що саме com.apple.quarantineпосилається (атрибут) аргумент?
голоси

1
@ tjt263, Вибачте, я до цього часу не бачив ваш коментар ... Усі об'єкти файлової системи мають атрибути, наприклад інформацію, яку ви бачите у висновку ls -l fileкоманди. Об'єкти файлової системи також мають розширені атрибути, з яких com.apple.quarantineпризначається об'єктам, завантаженим з Інтернету OS X, щоб запобігти довільному виконанню і, таким чином, одному рівню захисту системи. Використовуючи ls -lR@ fileабо xattr −lr fileпоказувати розширену інформацію про атрибут, остання з яких видаватиме більш обширну інформацію Див. Для man xattrотримання додаткової інформації.
користувач3439894

Ого. Це цікаво. Я про це не знав. Чи є в інших операційних системах щось подібне?
голоси

Ви також можете скористатися або клацанням правою кнопкою миші (aka ctrl-click), і вибрати "Відкрити", щоб дозволити виконати саме цей додаток.
Хоукен Райвс

1
@HawkenRives, так, це так, як це глобальна настройка, а не власне запуск або відкриття файлу, як це робиться правою кнопкою миші на файл. Використовуючи xattrчастину моєї відповіді, покрийте командний рядок та термінал.
користувач3439894

0

Введіть це в Термінал під обліковим записом адміністратора: sudo spctl --master-disable


Це повністю вимикає воротаря. І це не відповідь на питання.
l1ghthouse

0

Щоб зробити це розумно в командному рядку

  • attr -p com.apple.quarantine unidentified_thirdparty.app виводить щось на кшталт 0081;5e7fec61;Chrome;6585C1D3-E260-4275-9E6E-505DF8D6B7EE
  • Скопіюйте рядок виводу, замініть перші 4 символи 00c1
  • бігати attr -w com.apple.quarantine 00c1;5e7fec61;Chrome;6585C1D3-E260-4275-9E6E-505DF8D6B7EE unidentified_thirdparty.app

або

Об'єднав ці кроки в одну команду

attr -w com.apple.quarantine "$(attr -p com.apple.quarantine unidentified_thirdparty.app | sed 's/^.\{4\}/00c1/' )" unidentified_thirdparty.app

Мій пост у цьому блозі .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.