16 votes

Comment accorder à une application Mac la permission de lire l'ensemble du système de fichiers ?

J'ai acheté cette application appelée Xee sur le magasin d'applications Mac. Elle peut ouvrir des fichiers sans problème, mais lorsque j'essaie de parcourir un dossier à partir de l'application Xee, elle doit demander la permission (voir la capture d'écran ci-dessous). (Voir la capture d'écran ci-dessous.) Je dois faire cela pour chaque dossier la première fois que je le parcours.

Je suppose qu'il s'agit d'une limitation imposée par le magasin d'applications. Existe-t-il un moyen de contourner cette limitation et d'accorder à une application (installée sur mon ordinateur) la permission d'afficher n'importe quel répertoire, ou même de faire tout ce qu'elle veut ?

Screenshot

20voto

Graham Miln Points 39606

L'application est sandboxée. Cela signifie que le code de l'application a été signé avec un ensemble de droits. Ces droits sont appliqués par Mac OS X. La documentation des développeurs d'Apple sur le sandboxing fournit plus de détails.

Vous pouvez visualiser les droits de Xee dans le bac à sable en utilisant la commande suivante de Terminal.app :

codesign --display --entitlements - /Applications/Xee.app

L'article d'Ole Begemann, Vérification de la signature du code et du statut de Sandboxing dans le code explique plus en détail.

Démissionner ou supprimer les droits

Pour supprimer les droits, vous devez réintroduire signe du code l'application sans droits - en utilisant codesign - ou supprimer complètement la signature du code de l'application.

Demandez aux développeurs de Xee

Il n'est pas recommandé de modifier une application Mac. Demandez aux développeurs de Xee de vous aider à contourner ce comportement ; eux seuls ont les connaissances nécessaires pour résoudre ce problème.

Les développeurs de Xee semblent être conscients du problème :

(Notez que la version App Store est protégée par un bac à sable, tandis que les versions d'essai et complètes non App Store ne le sont pas. Si vous préférez la sécurité du bac à sable d'OS X, vous devriez vous procurer la version App Store. Cependant, la version sandboxed doit vous demander la permission pour certaines opérations, et si vous trouvez cela ennuyeux, vous devriez obtenir la version non-App Store).

Dites à Apple

Envisagez de fournir feedback à Apple sur cette limitation et sur la manière dont elle limite votre flux de travail. Les commentaires des clients contribueront à définir ce que les applications du Mac App Store pourront ou ne pourront pas faire à l'avenir. Pour l'instant, les applications achetées sur le Mac App Store d'Apple sont limitées.

4voto

Bob Fanger Points 732

C'est un peu délicat, mais vous pouvez supprimer le bac à sable en modifiant l'attribut <key>com.apple.security.app-sandbox</key> (qui est fixé à < true />) avec un éditeur hexagonal.

Dans MacOS Sierra 10.12, il s'agit de la valeur "into". false />
Dans MacOS El Capitain 10.11 ou antérieur, réglez-le sur <<<. fals />

Pour Xee, vous devez éditer les binaires suivants :

  • /Applications/Xee³.app/Contents/MacOS/Xee³.
  • /Applications/Xee³.app/Contents/Loader/Xee3.ImageLoader

Source : https://stackoverflow.com/questions/7018354/remove-sandboxing

-4voto

naoxink Points 115

Essayez de copier le contenu de l'application sur votre disque dur et ouvrez-la à partir de là. Peut-être que l'application protège ses fichiers contre elle-même.

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