Forcer la commande `open` pour ouvrir une application non signée?

21

J'ai mes préférences de sécurité définies pour autoriser les applications téléchargées à partir du "Mac App Store et des développeurs identifiés". Lorsque j'essaie d'ouvrir une application non signée:

open xyz.app

Je vois ce qui suit:

Impossible d'ouvrir l'application

Habituellement, je fais un clic droit sur l'application et je clique sur "Ouvrir". Cela fait apparaître un dialogue similaire, mais celui-ci comprend un bouton de type "ouvrir quand même":

L'application ne peut pas être ouverte, avec le bouton d'ouverture

Existe-t-il un moyen de le faire uniquement en utilisant la opencommande - quelque chose comme:

open --even-if-unsigned xyz.app
bonh
la source

Réponses:

33
  1. Créez et ajoutez une étiquette Gatekeeper à l'application. ('Approuvé' est une chaîne arbitraire.)

    spctl --add --label "Approved" /path/to/xyz.app
  2. Approuvez toutes les applications avec l'étiquette.

    spctl --enable --label "Approved"

    Cela ne doit être fait qu'une seule fois et l'ajout de la même étiquette nommée aux applications à l'avenir permet automatiquement leur accès.

  3. Ouvrez l'application comme d'habitude.

    open xyz.app

Pour plus d'informations sur spctl (sécurité des stratégies système SecAssessment), consultez la page de manuel.

grg
la source
3
Ah, un nouvel ajout à la liste des choses que je ne savais auparavant que faire GUI-ly, et que je peux maintenant faire en ligne de commande! Merci!
LSpice
19

Vous pouvez supprimer la quarantaine de l'application:

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

Vous pouvez / devez utiliser sudopour cette commande, selon les autorisations.

Le portier n'est alors pas impliqué du tout. Bien sûr, cela signifie également que la signature n'est pas vérifiée, ce qui supprime une caractéristique de sécurité importante.

Ken Thomases
la source
J'adore cette réponse aussi. Dommage que je ne puisse en choisir qu'un!
bonh
Cela a fonctionné pour mon installation OpenJDK installée manuellement. Merci!
fachexot