Jak mogę „otworzyć aplikację od niezidentyfikowanego programisty” bez korzystania z GUI?


13

Zasadniczo użyłem natywnej Safari.appprzeglądarki internetowej do pobrania aplikacji innej firmy i chcę ją uruchomić openw zaciszu mojej bashpowłoki / Terminal.appinterfejsu CLI; pomimo następującego komunikatu o błędzie:

“<unidentified_thirdparty.app>” can’t 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]|

Odpowiedzi:


31

Musisz albo zmienić ustawienia w Preferencjach systemowych > Bezpieczeństwo i prywatność > Ogólne > Zezwól aplikacjom pobieranym z: na Dowolne miejsce lub w Terminalu , xattr usuń atrybut com.apple.quarantine z pobranych plików.

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

Byłem świadomy metody GUI. Kolejna część wygląda jednak trafnie. Do czego dokładnie odnosi się com.apple.quarantineargument (atrybut)?
— głosy

1
@ tjt263, Przykro mi, ale do tej pory nie widziałem twojego komentarza ... Wszystkie obiekty systemu plików mają atrybuty, np. informacje, które zobaczysz w danych wyjściowych ls -l filepolecenia. Obiekty systemu plików mają również rozszerzone atrybuty, które com.apple.quarantinesą przypisane do obiektów pobranych z Internetu przez OS X, aby zapobiec przypadkowemu wykonaniu, a tym samym jeden poziom ochrony systemu. Użycie ls -lR@ filelub xattr −lr filespowoduje wyświetlenie informacji o rozszerzonych atrybutach, z których ta ostatnia wyświetli bardziej szczegółowe informacje. Zobacz man xattrpo więcej informacji.
— user3439894,

Łał. To interesujące. Nie wiedziałam o tym. Czy w innych systemach operacyjnych jest coś takiego?
— głosy

Możesz także użyć kliknięcia prawym przyciskiem myszy (aka kliknięcie z wciśniętym klawiszem Ctrl) i wybranie opcji „Otwórz”, aby umożliwić uruchomienie tylko tej aplikacji.
— Hawken Rives

1
@HawkenRives, Tak, ponieważ jest to ustawienie globalne, a nie faktyczne uruchamianie lub otwieranie pliku, tak jak robi to kliknięcie prawym przyciskiem myszy. Korzystając z xattrczęści mojej odpowiedzi, zakryj wiersz poleceń i Terminal.
— user3439894

0

Wpisz to w terminalu na koncie administratora: sudo spctl --master-disable


To całkowicie wyłącza Strażnika Wrót. I to nie jest odpowiedź na pytanie.
— l1ghthouse

0

Aby zrobić to mądrze w wierszu poleceń

  • attr -p com.apple.quarantine unidentified_thirdparty.app wypisuje coś podobnego 0081;5e7fec61;Chrome;6585C1D3-E260-4275-9E6E-505DF8D6B7EE
  • Skopiuj ciąg wyjściowy, zamień pierwsze 4 znaki na 00c1
  • biegać attr -w com.apple.quarantine 00c1;5e7fec61;Chrome;6585C1D3-E260-4275-9E6E-505DF8D6B7EE unidentified_thirdparty.app

lub

Połączono te kroki w jedno polecenie

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

Mój blog na ten temat.

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.