Pour autant que je sache, le délai d'attente pour l'autorisation dans OS X (s'il est respecté) est défini dans le fichier Base de données politique situé à l'adresse suivante etc/authorization
généralement de manière programmatique. Cela ressemble à un fichier plist, et si un élément n'a pas de clé 'timeout', alors il n'a pas de timeout.
Je sais que la préférence est généralement définie dans le code à l'aide des API d'Apple (comme indiqué dans le document Apple's Guide de programmation des services d'autorisation et le fonction ).
Il s'agit d'un fichier protégé. Utilisez quelque chose comme sudo pico /private/etc/authorization
pour la modifier.
L'entrée de ce fichier aura un titre utilisant une sorte de descripteur "com.company.application.right" ou quelque chose comme ça (par exemple, com.apple.itunes.copy, com.stackexchange.superuser.deleteuser) - qui est spécifique à chaque application, donc cherchez cela. (Il est classé par ordre alphabétique pour faciliter les choses, je crois).
S'il n'y a pas d'entrée de ce type, alors l'application récupère probablement l'autorisation d'une autre manière que je ne connais pas. Je viens d'essayer d'ajouter un timeout à une application que j'ai écrite - cela a fonctionné. Je l'ai ensuite supprimée à nouveau - et le délai a disparu. Cela devrait fonctionner dans votre cas, je suppose.
Vous mentionnez un panneau de configuration - s'il s'agit des préférences système, je ne sais pas non plus comment il fonctionne. Il n'y a aucun moyen de le faire avec Applescript.
Edit : S'il n'y a pas d'entrée de ce type
Une AUTRE façon pour une application d'autoriser est d'utiliser la méthode, désormais obsolète et peu sûre, suivante AuthorizationExecuteWithPrivileges
. Je suppose que si une application n'a pas sa propre entrée dans la base de données des politiques, elle utilise la fonction AuthorizationExecuteWithPrivileges
. Il se peut que l'application avec laquelle vous essayez de travailler l'utilise.
Il existe une entrée dans la base de données des politiques pour cette méthode particulière appelée system.privilege.admin
mais notez que si vous modifiez ce paramètre et supprimez le délai d'attente, vous modifierez probablement le délai d'attente pour toutes les applications utilisant la fonction AuthorizationExecuteWithPrivileges
et pas seulement celui que vous essayez de changer. Cela vaut peut-être la peine d'essayer.