J'utilise largement Apple Events pour contrôler une grande variété d'applications sur ma machine. Les nouvelles invites de sécurité introduites dans Mojave sont paralysantes .
Dans les versions précédentes de macOS, une fois qu'une application avait reçu l'autorisation de "contrôler votre ordinateur", elle pouvait envoyer des événements Apple à n'importe quelle autre application sur votre machine. Dans Mojave, cette autorisation doit être accordée manuellement une fois pour chaque application contrôlée.
Une fois qu'un utilisateur accorde l'accès, sa sélection est stockée dans l'une des deux bases de données sqlite:
~/Library/Application Support/com.apple.TCC/TCC.db
/Library/Application Support/com.apple.TCC/TCC.db
- Notez que # 2 n'est visible que pour l'utilisateur root.
- Notez que la protection de l'intégrité du système est désactivée.
Serait-il possible de modifier ces bases de données sqlite directement pour accorder automatiquement des autorisations et contourner ces invites de sécurité?
la source
tell app "Finder" to open every application file in the entire contents of (path to applications folder) as alias list
. Alorsrepeat with A in the result
...ignoring application responses
...quit the application named A
...end ignoring
...end repeat
. Ce sera douloureux, mais ce sera comme arracher un panda.Réponses:
L'accès direct à la base de données TCC.db n'est plus pris en charge par Apple, même si vous désactivez SIP , en raison de sa politique de protection des utilisateurs contre les grandes entreprises qui aiment suivre tout ce que vous faites en ligne, et également utilisé pour effectuer ce contournement furtif sans demander autorisation aux utilisateurs. Cependant, même à Mojave, il existe un moyen de contourner cela, mais avec un hic: cela ne fonctionne que si un ordinateur donné est inscrit à un programme MDM . Pour en savoir plus sur le programme MDM, cliquez ici .
Afin de contourner cela pour plusieurs ordinateurs, vous pouvez utiliser le script python
tccprofile.py
disponible sur GitHub .Une discussion approfondie de ce que vous pouvez et ne pouvez pas faire est disponible ici .
Pour autant que je sache, c'est le seul moyen de contourner la nécessité de demander l'autorisation de l'utilisateur à partir de Mojave.
la source
J'ai trouvé cela pour supprimer une entrée.
la source
Error: unable to open database "/Library/Application Support/com.apple.TCC/TCC.db": unable to open database file
et si j'essaye dels
trouver le répertoire en tant que root, j'obtiensls: : Operation not permitted
.TCC.db
sur Catalina? J'ai aussi le même problème, je ne peux même pas le fairels
dans lecom.apple.TCC
répertoiresudo tccutil --list
( github.com/jacobsalmela/tccutil )SIP ne prend pas en charge le répertoire Library. Ainsi, cela signifie que vous pouvez toujours écrire dans le fichier TCC.db via le terminal par certaines commandes.
Voici le lien: À propos de SIP
la source