web-dev-qa-db-fra.com

Que dois-je faire à propos de com.Apple.quarantine?

J'ai téléchargé des fichiers .jar sur Internet et je souhaite les utiliser sous Mac OS X. Mais le système d'exploitation semble les avoir étiquetés avec l'attribut étendu com.Apple.quarantine (aucune indication à ce sujet jusqu'à ce que j'ai remarqué le "@" le ls -l et comment utiliser ls -l@) - apparemment parce qu'ils ont été téléchargés à partir d'Internet. Quelle est la bonne façon de gérer cela?

89
Jason S

Cet attribut est ajouté pour qu'il puisse demander à l'utilisateur de confirmer la première exécution du programme téléchargé, afin d'aider à arrêter les logiciels malveillants. Après confirmation, l'attribut doit être supprimé automatiquement, puis le programme s'exécutera normalement.

61
mark4o

Vous n'avez pas pour y faire face. Ouvrez-le et OS X vous demandera votre permission. Ou comme suggéré par Richard, supprimez-le en utilisant quelque chose comme:

xattr -d com.Apple.quarantine my_jar.jar

Pour le faire automatiquement pour tout fichier téléchargé, vous pouvez associer une action de dossier au dossier de téléchargement, comme décrit sur macosxhints.com dans 10.5: supprimer l'indicateur d'avertissement 'fichier téléchargé' .

Et ce qui suit a été publié sur macosxhints.com il y a longtemps, pour Safari: 10.5: Désactiver l'avertissement de fichier 'téléchargé à partir d'Internet' , prétendant qu'on peut retirez VerifiedDownloadPlugin.plugin de /Library/Internet Plug-Ins. Je n'ai pas testé ça.

En passant: il est parfois nécessaire de démarrer plusieurs fois un même programme sur un Mac. Cela peut être fait en utilisant cd /Applications/some-application/ suivi de open -n "Application Name.app". Cela nécessite vraiment le suffixe .app; exécuter open -n "Application Name" peut obtenir un GateKeeper bloquant l'accès:

"Nom de l'application" ne peut pas être ouvert car il provient d'un développeur non identifié.

Vos préférences de sécurité ne permettent l'installation que des applications à partir du Mac App Store et des développeurs identifiés.

Ci-dessus, même la suppression de l'attribut étendu com.Apple.quarantine ne résout pas le problème, mais l'utilisation du suffixe .app fonctionne parfaitement.

(Je ne conseille à personne de se débarrasser des mesures de sécurité.)

80
Arjan
 xattr -d com.Apple.quarantine /path/to/file
20
Richard Hoskins

Vous pouvez désactiver les avertissements de façon permanente avec defaults write com.Apple.LaunchServices LSQuarantine -bool false. Il désactive également les boîtes de dialogue de Gatekeeper même si vous n'avez pas autorisé les applications téléchargées à partir de n'importe où dans les Préférences Système.

5
Lri

J'ai trouvé la commande suivante

find Application.app | while read l; do echo $l; xattr -d com.Apple.quarantine "$l"; done

très utile lorsque vous essayez de vous débarrasser de l'attribut. Notez les guillemets autour de $l - vous en aurez besoin si votre dossier d'applications contient des fichiers vierges.

2
user32911

xattr a maintenant un drapeau -r à recurse. Donc, vous n'avez pas à passer par cette recherche. De plus, il a un -c qui effacera TOUS les drapeaux (y compris FinderInfo), ce qui n’est pas toujours recommandé sauf si vous êtes vraiment en colère contre lui. :-)

0
OsamaBinLogin