Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting sudo to ask for password via the GUI

I have a lua script, running on the Mac, that needs to call sudo.

I'd hoped that Mac OS would automatically bring up a password request dialog, but instead it the command fails by returning 256.

Is there anyway that I can achieve my goal?

Tim

like image 510
tarmes Avatar asked Apr 23 '12 15:04

tarmes


1 Answers

Quick and easy way: run it like this

/usr/bin/osascript -e 'do shell script "/path/to/myscript args 2>&1 etc" with administrator privileges'

Proper and configurable way: use AuthorizationExecuteWithPrivileges API from Authorization Services (in Security.framework).

Both will display standard Mac OS X GUI asking for administrator password and then execute the command as root, the same way as sudo does except that SUDO_USER environment variables will not be set.

If you need to execute individual commands from under user account when you're already elevated to root, you can prepend them with /usr/bin/sudo -u $USER.

like image 72
hamstergene Avatar answered Sep 29 '22 15:09

hamstergene