authbuddy

authbuddy helps you add and remove rights from /var/db/auth.db or /etc/authorization on Mac OS X. authbuddy is a free command line tool.

authbuddy is not for sale.

authbuddy for Mac OS X
authbuddy for Mac OS X

authbuddy helps you add and remove rights from Mac OS X’s /var/db/auth.db file. authbuddy makes is easy and safe to edit this important file. The /var/db/auth.db file controls who has what rights on Mac OS X.

authbuddy is designed for system administrators but may be used, with care, by any Mac OS X user.

Set and Remove Rights

authbuddy offers an easy way to manage the rights within Mac OS X’s /var/db/auth.db file.

Hand editing /var/db/auth.db or /etc/authorization is risky. Damaging the file can leave your Mac open to abuse and unstable.

authbuddy does not directly edit either /etc/authorization or /var/db/auth.db, but instead goes through Apple’s supported Authorization API.

authbuddy provides a command line interface for setting and removing rights. authbuddy can quickly set two types of right: universal and administrator:

  • A universal right can be accessed by any user.
  • An administrator right can be accessed only by a confirmed user with administrator credentials.

Customise rights can be set by providing a path to a property list encoded dictionary.

Rights in OS X

A complete list of rights is available on Mac OS X 10.5 and later is available in our authorization rights reference.

Using authbuddy

authbuddy is provided as both a standalone executable and as an Installer package. Once installed the authbuddy binary is available from /usr/local/bin.

Get a Right

A right is fetched using the following format of command. In this case, authbuddy will get the right for uk.co.dssw.powermanager.scheduler.adjust.

bash$ /usr/local/bin/authbuddy get 'uk.co.dssw.powermanager.scheduler.adjust'

Set a Right

A right is set using the following format of command. In this case, authbuddy will insert a universal class of right for uk.co.dssw.powermanager.scheduler.adjust.

bash$ /usr/local/bin/authbuddy set 'uk.co.dssw.powermanager.scheduler.adjust' universal

authbuddy can set administrator and universal rights using built-in values. An external right dictionary can be provided to set customised rights.

Remove a Right

A right is removed using the following format of command. In this case, authbuddy will completely the right for uk.co.dssw.powermanager.scheduler.cancel.

bash$ /usr/local/bin/authbuddy remove 'uk.co.dssw.powermanager.scheduler.cancel'

Notes

Before using authbuddy or changing your authorization file, be sure to have a back up.

When using authbuddy within a shell script, be sure to use sudo to avoid the authentication user interface associated with changing existing rights.

The great majority of Mac OS X users will not need authbuddy, nor will they need to alter their authorization file. authbuddy has been created to help those few that do need this ability.