"accessibility" option fails as root
TGBX opened this issue · 2 comments
TGBX commented
The "accessibility" option requires root, as noted in the doco.
Error: ValueError: Must be root to modify 'accessibility'
However, when it is run as root, an error is generated about creating a TCC database for the root user, rather than modifying the Local (/Library) TCC database as root, and the process fails.
$ sudo /usr/local/bin/privacy_services_manager.py enable accessibility /Applications/Evernote.app
Error: ValueError: Will not create a TCC database file for root.
Creating a TCC database for the root user is generally not helpful, and
there is really no good reason to do it.
If you intended to change the permissions for a particular user as root,
instead use the `--user` option. For example:
privacy_services_manager.py --user "username" add contacts com.apple.Safari
If you really want to create a TCC database file for root, run the
command with the `--forceroot` option:
privacy_services_manager.py --forceroot add contacts com.apple.Safari
The Local (/Library/Application Support/com.apple.TCC) database has not been modified:
$ date
Mon 3 Nov 2014 11:38:00 AEDT
$ ls -al /Library/Application\ Support/com.apple.TCC/TCC.db
-rw-r--r-- 1 root admin 36864 10 Oct 10:45 /Library/Application Support/com.apple.TCC/TCC.db
This also occurs if the bundle ID is used rather than a path.
$ sudo /usr/local/bin/privacy_services_manager.py add accessibility com.evernote.Evernote
Error: ValueError: Will not create a TCC database file for root
For reference, tcc_database_manager (I realise it's deprecated):
$ sudo tcc_database_manager -n add accessibility /Applications/Evernote.app
2014-11-03 11:58:10,687 INFO: Found bundle IDs: ['com.evernote.Evernote']
2014-11-03 11:58:10,690 INFO: Adding 'com.evernote.Evernote' to accessibility service.
Using:
Privacy Services Manager, version 1.4.2
Management Tools, version 1.5.13
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.9.5
BuildVersion: 13F34
pdarragh commented