2 votes

Dois-je entrer cette commande dans le Terminal ?

Le contexte : Il y a environ un mois, j'ai acheté une application auprès d'un développeur dont la réputation était (me semblait-il) bonne. L'application n'a pas fonctionné comme prévu, j'ai donc contacté le support technique, qui m'a répondu dans la semaine avec la réponse (toutes les fautes de frappe, de grammaire et autres bizarreries verbales ont été copiées mot pour mot de l'original) :

Merci beaucoup pour vos commentaires. Et je suis vraiment désolé car cela prend beaucoup de temps pour trouver la raison et trouver la solution. I m'excuse sincèrement pour les désagréments que vous avez subis.

Notre équipe DEV établit un diagnostic plus approfondi et trouve la solution pour vous. Pourriez-vous essayer la version personnalisée pour résoudre le problème ?

[https://drive.google.com/file/ [lien](https://drive.google.com/file/%5Blink) expurgé]

Veuillez le télécharger et le dézipper pour faire un nouvel essai.

Donc, ok. J'ai téléchargé le fichier, je l'ai décompressé et je l'ai lancé, mais je n'ai eu que le message d'erreur :

[Nom de l'application] est endommagée et ne peut pas être ouverte. Vous devez la déplacer vers la corbeille.

J'ai écrit à l'assistance technique pour signaler le message d'erreur. Ils ont répondu avec les instructions suivantes :

Merci beaucoup pour vos commentaires. Étant donné cette situation rare, veuillez vous référer aux instructions ci-dessous pour résoudre le problème.

  1. Veuillez trouver l'option "Terminal" sur votre ordinateur ;

  2. Et ensuite, veuillez saisir le chemin ci-dessous :

sudo xattr -rd com.apple.quarantine / (Emplacement de l'application)

Après cela, veuillez entrer le mot de passe de votre ordinateur. Ensuite, vous pouvez l'utiliser.

Je suis presque complètement analphabète sous UNIX, et je suis réticent à entrer une commande dans Terminal à moins de savoir exactement ce qu'elle va faire -- et ceci semble être une commande conçue pour désactiver les mesures de sécurité. De plus, un peu de recherche sur Google suggère que cette commande, quelle que soit sa fonction, est généralement recommandée pour obtenir un certificat de sécurité. autorisation erreur (par exemple "Vous n'avez pas la permission d'ouvrir l'application"), qui est no l'erreur que je reçois.

Donc mes questions :

  1. Que fera cette commande ?
  2. Est-ce que je peux l'exécuter en toute sécurité ?
  3. Est-ce que cela peut aider ?

8voto

rybosome Points 1829

Répartition de cette commande :

sudo xattr -rd com.apple.quarantine /path/to/app/location

  • sudo : Exécuter le reste de la commande avec les privilèges de superutilisateur (Root). Plus d'informations : man sudo
  • xattr : Afficher ou modifier les attributs étendus du système de fichiers sur un fichier ou un répertoire. Les attributs étendus sont ceux qui vont au-delà des permissions standard POXIX utilisateur/groupe/autres en lecture/modification/écriture/exécution. Plus d'informations : man xattr
  • -rd : Ce sont deux drapeaux/arguments distincts qui seront transmis à xattr . r signifie que si vous invoquez xattr sur un répertoire, l'opération sera effectuée de manière récursive sur tous les fichiers et répertoires qu'il contient. Étant donné que vous ciblez une application, qui est en fait une paquet (c'est-à-dire un répertoire structuré), ce drapeau est nécessaire pour atteindre tout le contenu du paquet. d signifie que l'opération effectuée sera de supprimer l'attribut spécifié du fichier ou du répertoire.
  • com.apple.quarantine : C'est un autre argument passé à xattr . Il indique le nom de l'attribut sur lequel il faut agir (supprimé, dans ce cas). L'adresse com.apple.quarantine est le mécanisme par lequel les fichiers téléchargés à partir de Safari et de certaines autres applications sont marqués comme ayant été téléchargés depuis Internet (qui est un environnement potentiellement hostile), par opposition à ceux provenant d'un environnement présumé sûr, comme le Mac App Store ou des fichiers que vous avez créés vous-même. Lorsqu'un utilisateur tente d'exécuter un binaire mis en quarantaine pour la première fois, le noyau s'accroche à l'interface de l'utilisateur. quarantine.kext et l'exécution est déclenchée par une interaction de l'interface utilisateur qui présente l'extension du noyau. "Ce fichier a été téléchargé sur Internet. Êtes-vous sûr de vouloir l'ouvrir ?" panneau.
  • /path/to/app/location : C'est le dernier argument passé à xattr . Il spécifie le fichier ou le répertoire dont les attributs xattr va lire ou modifier.

Mis bout à bout, ce commandement dit :

"Pour chaque fichier et dossier à l'intérieur /path/to/app/location supprimer le com.apple.quarantine attribut. Faites tout cela en tant qu'utilisateur racine".

Voici pourquoi on vous demande d'exécuter ceci :

  1. L'application dont vous avez spécifié le chemin à la fin de cette commande a été téléchargée d'Internet par votre navigateur.
  2. MacOS a reconnu que tout fichier provenant d'Internet peut être dangereux, il applique donc l'attribut de quarantaine au moment du téléchargement.
  3. Ce fichier est une application, donc lorsque vous avez essayé de l'ouvrir, le noyau a vu qu'il était en quarantaine et a effectué des contrôles de sécurité sur lui. Il ne le fait qu'avant le premier lancement réussi ; les lancements suivants ignorent ce mécanisme de sécurité s'il a réussi auparavant.
  4. L'application a échoué aux vérifications pour une raison quelconque et MacOS vous a informé que l'application est endommagée.
  5. Le développeur souhaite que vous supprimiez l'attribut de quarantaine afin de contourner les contrôles de sécurité et de permettre à l'application de fonctionner.

Donc la commande Terminal ci-dessus par lui-même est une chose parfaitement sûre et raisonnable à exécuter seule. Cependant, dans le contexte, vous devez être très vigilant : En exécutant d'abord cette commande sûre et puis en exécutant l'application que vous avez téléchargée, vous autorisez un développeur tiers à exécuter son code sur votre ordinateur sans passer les contrôles de sécurité - dont vous savez déjà qu'ils ont échoué.

Est-ce malveillant ? Impossible de le savoir. Le développeur peut être un ingénieur logiciel tout à fait sincère, dont l'anglais est imparfait et qui tente de déboguer une application défectueuse en collaboration avec vous. Ou bien il peut s'agir d'un développeur véreux qui essaie de vous ouvrir une porte dérobée. Aucun d'entre nous ne peut répondre à cette question pour vous ici.

Vous pourriez par exemple.. :

  1. Passez l'exécutable de l'application dans un désassembleur et voyez si vous pouvez y déceler une quelconque intention malveillante (difficile à faire avec de l'expérience ; impossible si vous n'êtes pas vous-même un développeur).
  2. Demandez au développeur de travailler avec vous pour déboguer l'échec du lancement car vous ne vous sentez pas à l'aise pour retirer l'application de la quarantaine. Pour ce faire, vous devrez probablement fournir des journaux de lancement ciblés avec l'icône log (voir man log (mais sachez aussi que c'est au développeur de le déterminer pour vous).

0voto

aetheryl Points 21

J'ai rencontré ce problème lorsqu'un logiciel que vous utilisez provient d'une version antérieure de MacOS / n'est plus pris en charge par la version actuelle de MacOS (un X à travers le logiciel, qui prétend qu'il est cassé et vous recommande de l'envoyer à la poubelle), ou lorsque le code du développeur n'a pas été signé par Apple et qu'il a été téléchargé depuis l'internet (l'avertissement "téléchargé depuis l'internet", un développeur tiers avec un code qui n'a pas été signé par Apple ; la seule raison légitime serait que le développeur décide de ne pas payer 99 dollars par an à Apple pour être un développeur, mais c'est un peu suspect autrement).

Bien que les deux éléments susmentionnés puissent être inoffensifs, si le programme a un but légitime, les étapes qu'il vous fait suivre pour lancer le programme en contournant certaines de ces invites sont hors norme (à mon avis).

La commande en question contourne ces avertissements en désactivant la mise en quarantaine par défaut d'Apple d'une application présentant de tels problèmes.

Pour moi, ces recommandations seront soit inoffensives, soit infâmes, selon les intentions du développeur. La seule chose qui permet d'en juger est sa réputation en général :

  • Obtenez-vous ces informations de la source officielle (ou de confiance) ?
  • Le logiciel est-il bien établi et dispose-t-il d'une communauté de niche qui l'utilise et peut fournir des informations sur son fonctionnement ?

Si la réponse est encore aux deux, alors c'est probablement bien. Cependant, ce que je trouve suspect, c'est que le développeur ne mette pas simplement à jour son logiciel, ne le recompile pas pour le système d'exploitation le plus récent et ne fasse pas signer son code par Apple pour contourner ces avertissements de la bonne manière.

Au moins, il ne vous demande pas de désactiver Gatekeeper (au niveau du système), car c'est quelque chose que je trouverais très suspect.

Il s'agit donc d'un jugement individuel de votre part, ne connaissant pas le nom du logiciel pour offrir une opinion générale. Mais il peut être utile de demander pourquoi il n'a pas fourni une version mise à jour pour éviter à l'utilisateur final d'avoir à sauter à travers ces cerceaux, si ces avertissements sont vraiment inoffensifs. Je suppose que si c'est inoffensif, c'est parce qu'il a été écrit en utilisant une ancienne version de MacOS et qu'il n'est pas disposé à débourser l'argent nécessaire pour devenir un développeur Apple et faire signer son code en conséquence.

Si vous ne pouvez pas obtenir de réponse satisfaisante à vos questions et en supposant que ce code ne nécessite pas un administrateur pour être exécuté, vous pouvez soit exécuter ledit logiciel sur une machine virtuelle pour analyser son utilisation (ce qui protège votre ordinateur), soit, s'il fonctionne sur un utilisateur non administrateur (ce qui n'est peut-être pas le cas puisque vous ne pourrez peut-être pas contourner ces avertissements sans privilèges d'administrateur), créer un nouveau compte d'utilisateur normal/non administrateur pour le tester et, dans le pire des cas, vous pouvez simplement supprimer le compte sans craindre qu'il ne modifie ou n'altère vos fichiers système. Le compte d'utilisateur standard devrait être sandboxé, pour la plupart des cas.

Il est recommandé d'effectuer au préalable une sauvegarde de vos fichiers, si vous voulez être ouvertement prudent - dans le cas d'un ransomware.

0voto

Macintosh3D Points 53

1. Il supprime un composant inutile de l'application.

2. Il est sûr.

3. C'est peu probable, mais c'est possible.

Cette partie est un peu désordonnée, désolé. Je ne suis donc pas familier avec cette commande mais en général, étant familier avec la ligne de commande, j'ai lu la page de manuel et je peux dire que cette commande n'est pas malveillante. com.apple.quarantine demande seulement si vous voulez exécuter cette application. Si vous confirmez, elle se supprime d'elle-même. En gros, c'est le "Vous ouvrez l'application NOM_DE_L'APPLICATION pour la première fois. Êtes-vous sûr de vouloir ouvrir cette application ?"

You are opening the application APPLICATION_NAME for the first time. Are you sure you want to open this application?

Cela peut aider, mais probablement pas, mais cela ne coûte rien et n'endommage pas votre ordinateur.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X