Forzare il comando `open` per aprire un'app non firmata?


21

Ho impostato le mie preferenze di sicurezza per consentire le app scaricate dal "Mac App Store e sviluppatori identificati". Quando provo ad aprire un'app non firmata:

open xyz.app

Vedo quanto segue:

L'app non può essere aperta

Di solito, faccio clic con il tasto destro sull'app e faccio clic su "Apri". Questo fa apparire un dialogo simile, ma questo include un pulsante di tipo "apri comunque":

L'app non può essere aperta, con il pulsante Apri

C'è un modo per farlo solo usando il opencomando - qualcosa del tipo:

open --even-if-unsigned xyz.app

Risposte:


33
  1. Crea e aggiungi un'etichetta Gatekeeper all'app. ('Approvato' è una stringa arbitraria.)

    spctl --add --label "Approved" /path/to/xyz.app
  2. Approvare tutte le app con l'etichetta.

    spctl --enable --label "Approved"

    Questo deve essere fatto solo una volta e l'aggiunta della stessa etichetta alle app in futuro ne consentirà automaticamente l'accesso.

  3. Apri l'app come al solito.

    open xyz.app

Per maggiori informazioni su spctl (sicurezza dei criteri di sistema SecAssessment), consultare la pagina man.


3
Ah, una nuova aggiunta all'elenco di cose che prima sapevo solo come fare GUI-ly, e ora posso fare dalla riga di comando! Grazie!
LSpice,

19

È possibile rimuovere la quarantena dall'app:

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

Potrebbe essere necessario / necessario utilizzare sudoper quel comando, a seconda delle autorizzazioni.

Quindi Gatekeeper non è affatto coinvolto. Naturalmente, ciò significa anche che la firma non è verificata, il che rimuove un'importante funzione di sicurezza.


Adoro anche questa risposta. È un peccato che posso sceglierne solo uno!
bonh,

Questo ha funzionato per l'installazione OpenJDK installata manualmente. Grazie!
fachexot
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.