Wymuszasz polecenie „otwórz”, aby otworzyć niepodpisaną aplikację?


21

Mam ustawione preferencje zabezpieczeń, aby zezwalać na aplikacje pobrane z „Mac App Store i zidentyfikowanych programistów”. Kiedy próbuję otworzyć niepodpisaną aplikację:

open xyz.app

Widzę następujące:

Nie można otworzyć aplikacji

Zwykle klikam aplikację prawym przyciskiem myszy i klikam „Otwórz”. To wywołuje podobny dialog, ale ten zawiera przycisk typu „i tak otwórz”:

Nie można otworzyć aplikacji za pomocą przycisku Otwórz

Czy można to zrobić tylko za pomocą openpolecenia - coś takiego:

open --even-if-unsigned xyz.app

Odpowiedzi:


33
  1. Utwórz i dodaj etykietę Gatekeeper do aplikacji. („Zatwierdzony” to dowolny ciąg.)

    spctl --add --label "Approved" /path/to/xyz.app
  2. Zatwierdź wszystkie aplikacje za pomocą etykiety.

    spctl --enable --label "Approved"

    Należy to zrobić tylko raz, a dodanie tej samej nazwanej etykiety do aplikacji w przyszłości automatycznie umożliwi im dostęp.

  3. Otwórz aplikację jak zwykle.

    open xyz.app

Aby uzyskać więcej informacji o spctl (bezpieczeństwo zasad systemu SecAssessment), zobacz stronę man.


3
Ach, nowy dodatek do listy rzeczy, które wcześniej znałem tylko z graficznego interfejsu użytkownika, a teraz mogę to zrobić w wierszu poleceń! Dzięki!
LSpice,

19

Możesz usunąć kwarantannę z aplikacji:

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

Możesz chcieć / potrzebować użyć sudotego polecenia, w zależności od uprawnień.

W takim razie Strażnik W ogóle nie jest zaangażowany. Oczywiście oznacza to również, że podpis nie jest weryfikowany, co usuwa ważną funkcję bezpieczeństwa.


Uwielbiam też tę odpowiedź. Szkoda, że ​​mogę wybrać tylko jeden!
bonh

Działa to w przypadku mojej ręcznej instalacji OpenJDK. Dzięki!
fachexot
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.