Aide privilégiée
Si Charles Proxy suit Recommandations d'Apple les autorisations obtenues lors de l'installation initiale seront codées en tant qu'assistant privilégié.
Sous MacOS, le dossier /Library/PrivilegedHelperTools
contient des outils qui ont été préalablement authentifiés et autorisés par l'utilisateur.
Le dossier /Library/LaunchDaemons
contient le launchd
qui lancent et déterminent l'accès aux outils.
Il existe d'autres approches, telles que
Exécution avec des privilèges élevés
Si vous devez exécuter du code avec des privilèges élevés, plusieurs approches sont possibles :
- Vous pouvez exécuter un démon avec des privilèges élevés que vous appelez lorsque vous avez besoin d'effectuer une tâche privilégiée. La méthode préférée pour lancer un démon est d'utiliser le démon launchd (voir launchd). Il est plus facile d'utiliser launchd pour lancer un démon et plus facile de communiquer avec un démon que de créer son propre processus privilégié.
- Vous pouvez utiliser la commande authopen pour lire, créer ou mettre à jour un fichier (voir authopen).
- Vous pouvez utiliser un appel système BSD pour modifier le niveau de privilège (voir Appels pour modifier le niveau de privilège). Ces commandes ont une sémantique confuse. Vous devez faire attention à les utiliser correctement, et il est très important de vérifier les valeurs de retour de ces appels pour s'assurer qu'ils ont réussi.