Comment accorder à une application Mac l'autorisation de lire l'intégralité du système de fichiers

13

J'ai acheté cette application appelée Xee sur le Mac App Store. Il peut parfaitement ouvrir des fichiers, mais lorsque j'essaie de parcourir un dossier à partir de l'application Xee, il doit demander la permission. (Voir la capture d'écran ci-dessous.) Je dois le faire pour chaque dossier la première fois que je le parcours.

Je suppose que c'est une limitation imposée par l'App Store. Existe-t-il un moyen de contourner cela et d'accorder à une application (installée sur ma machine) la permission d'afficher n'importe quel répertoire, ou même de faire tout ce qu'elle veut?

Capture d'écran

Brian Gordon
la source
1
C'est ce qu'on appelle - la sécurité. Et vous ne voulez probablement pas qu'une application ait un accès complet à N'IMPORTE QUEL dossier sur votre système.
Rob
Est-ce que cela se produit uniquement pour les fichiers / dossiers en dehors de votre dossier utilisateur ou également pour les choses à l'intérieur?
nohillside
@patrix Cela se passe dans mon dossier utilisateur.
Brian Gordon

Réponses:

3

C'est un peu délicat mais, mais vous pouvez supprimer le bac à sable en modifiant la <key>com.apple.security.app-sandbox</key>valeur (qui est définie sur < true/>) avec un éditeur hexadécimal.

Dans macOS Sierra 10.12, définissez-le sur < false/>
Dans macOS El Capitain 10.11 ou version antérieure, définissez-le sur < fals/>

Pour Xee, vous devez modifier les fichiers binaires suivants:

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

Source: /programming/7018354/remove-sandboxing

Bob Fanger
la source
Je vous remercie! Ça marche. N'oubliez pas chmod a+xles fichiers si vous avez utilisé votre éditeur hexadécimal pour créer de nouveaux fichiers.
Brian Gordon
De plus, hexed.it est fantastique.
Brian Gordon
1
Ce n'est pas vraiment une solution pour l'avenir. L'application Sandboxing est de plus en plus nécessaire au fil du temps, il est donc préférable de travailler avec elle que de travailler contre
Ben Leggiero
Envisagez de fournir à Apple des commentaires sur cette limitation et sur la manière dont elle limite votre flux de travail. Les commentaires des clients aideront à déterminer ce que les applications du Mac App Store peuvent et ne peuvent pas faire à l'avenir. Pour l'instant, les applications achetées via l'Apple Mac App Store sont limitées.
Bob Fanger
19

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

Vous pouvez afficher les droits d'accès au sandbox de Xee à l'aide de la commande Terminal.app suivante:

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

L'article d'Ole Begemann, Checking Code Signing and Sandboxing Status in Code , explique plus.

Démission ou suppression des droits

Pour supprimer les droits, vous devez recoder la signature de l'application sans droits - à l'aide codesign- ou supprimer entièrement la signature de code de l'application.

Demandez aux développeurs de Xee

La modification d'une application Mac n'est pas recommandée. Demandez aux développeurs de Xee de vous aider à contourner ce problème; seulement, ils ont les connaissances appropriées pour résoudre ce problème.

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

(Notez que la version App Store est en bac à sable, tandis que les versions d'essai et complète non App Store ne sont pas bac à sable. Si vous préférez la sécurité du bac à sable OS X, vous devriez obtenir la version App Store. Cependant, la version bac à sable 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 à Apple des commentaires sur cette limitation et sur la manière dont elle limite votre flux de travail. Les commentaires des clients aideront à déterminer ce que les applications du Mac App Store peuvent et ne peuvent pas faire à l'avenir. Pour l'instant, les applications achetées via l'Apple Mac App Store sont limitées.

Graham Miln
la source
2
Réponse stellaire sur le sandboxing - bien fait couvrant un sujet compliqué de manière lisible.
bmike
-4

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

naoxink
la source