1 votes

Autoriser le Shell script à accéder aux dossiers de bibliothèque protégés (launchd)

J'essaie un bash script qui fonctionne bien lorsqu'il est exécuté à partir de la ligne de commande (Terminal).

En dehors de tout le bazar, c'est le cas :

ls -alt /Users/<username>/Libary/Mail/V6/.../Lists.mbox

(En utilisant ls comme une commande simple pour illustrer le problème).

Cependant, lorsque je tente une exécution de test à l'aide de launchd (que j'ai configuré à l'aide de l'application Lingon X), j'obtiens une erreur de permissions.

1: Operation not permitted
ls: Lists.mbox: Operation not permitted

Terminal et Lingon X ont tous deux un accès complet au disque autorisé dans le volet préfixe Confidentialité, mais je ne vois aucun moyen d'autoriser un script de shell individuel à recevoir un tel accès.

J'ai essayé d'exécuter le même script en utilisant la fonction AppleScript. do shell script mais je reçois la même erreur.

Les autorisations (.sh) script sont définies à 755, donc cela ne devrait pas être un facteur.

Comment puis-je contourner ce problème ?

0voto

Lorccan Points 136

J'ai surmonté le problème en créant un wrapper d'application pour le script à l'aide de Platypus -. https://sveinbjorn.org/platypus .

J'ai donné à l'application résultante un accès complet au disque dans le panneau de préférences Confidentialité et cela lui a permis de fonctionner.

(Toute modification ultérieure du script de base implique de régénérer l'application et de la supprimer et la réinsérer dans Privacy car le nouveau fichier n'est pas reconnu comme ayant un accès complet au disque).

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