Erzwingen Sie den Befehl "open", um eine nicht signierte App zu öffnen?

21

Ich habe meine Sicherheitseinstellungen so festgelegt, dass Apps aus dem "Mac App Store und von bestimmten Entwicklern" heruntergeladen werden können. Wenn ich versuche, eine nicht signierte App zu öffnen:

open xyz.app

Ich sehe folgendes:

App kann nicht geöffnet werden

Normalerweise klicke ich mit der rechten Maustaste auf die App und klicke auf "Öffnen". Dies ruft einen ähnlichen Dialog auf, der jedoch eine Schaltfläche vom Typ "Trotzdem öffnen" enthält:

Die App kann nicht mit der Schaltfläche Öffnen geöffnet werden

Gibt es eine Möglichkeit, dies nur mit dem openBefehl zu tun - so etwas wie:

open --even-if-unsigned xyz.app
bonh
quelle

Antworten:

33
  1. Erstellen Sie ein Gatekeeper-Label und fügen Sie es der App hinzu. ('Approved' ist eine beliebige Zeichenfolge.)

    spctl --add --label "Approved" /path/to/xyz.app
  2. Genehmigen Sie alle Apps mit dem Label.

    spctl --enable --label "Approved"

    Dies muss nur einmal durchgeführt werden und das Hinzufügen des gleichen Namens zu Apps in der Zukunft aktiviert automatisch deren Zugriff.

  3. Öffne die App wie gewohnt.

    open xyz.app

Weitere Informationen zu spctl (Sicherheit von SecAssessment-Systemrichtlinien) finden Sie auf der Manpage.

grg
quelle
3
Ah, eine neue Ergänzung zu der Liste von Dingen, die ich früher nur als Benutzeroberfläche beherrschte und jetzt über die Befehlszeile ausführen kann! Vielen Dank!
LSpice
19

Sie können die Quarantäne aus der App entfernen:

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

sudoAbhängig von den Berechtigungen möchten / müssen Sie möglicherweise für diesen Befehl verwenden.

Dann ist Gatekeeper überhaupt nicht involviert. Das bedeutet natürlich auch, dass die Signatur nicht verifiziert wird, wodurch ein wichtiges Sicherheitsmerkmal entfernt wird.

Ken Thomases
quelle
Ich liebe diese Antwort auch. Schade, dass ich nur einen auswählen kann!
Bonh
Dies funktionierte für meine manuell installierte OpenJDK-Installation. Vielen Dank!
fachexot