1 votes

Le fichier de script launchd est bloqué par sandboxd

J'ai écrit un petit script shell qui télécharge des données du serveur et les enregistre dans un dépôt restic. Les fichiers du dépôt restic se trouvent sur un volume monté. Le script fonctionne bien si je l'exécute dans le Terminal.

Pour exécuter ce script quotidiennement, j'ai créé un fichier launchd .plist dans ~/Library/LaunchAgents

En regardant les journaux de sortie, je remarque que la commande restic ne parvient pas à accéder à ses fichiers.

Les journaux système montrent un avertissement sandboxd qui a bloqué restic. J'ai accordé un Accès Complet au Disque au binaire restic, mais cela n'a pas résolu le problème.

Qu'est-ce que j'ai oublié?

1voto

Spike0xff Points 666

J'ai découvert qu'une chaîne de scripts nécessite que l'appelant parent dispose des privilèges corrects pour éviter tout blocage par sandboxd. J'ai donc simplement ajouté les programmes suivants pour l'accès complet au disque :

  • bash
  • zsh
  • restic
  • launchd
  • Terminal

Je suis assez confiant que vous pourriez réduire la liste à une option plus sûre par défaut, mais pour mon cas d'utilisation, je préfère la laisser comme ça

Autre point important : j'ai modifié le shebang de mes scripts de #!/usr/bin/env bash à simplement #!/bin/bash

Cela a fonctionné pour moi et enfin tout fonctionne comme prévu

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