Ответ 1
Быстрый и простой способ: запустить его следующим образом
/usr/bin/osascript -e 'do shell script "/path/to/myscript args 2>&1 etc" with administrator privileges'
Правильный и настраиваемый способ: использовать API AuthorizationExecuteWithPrivileges
из служб авторизации (в Security.framework).
Оба будут отображать стандартный графический интерфейс Mac OS X с запросом пароля администратора, а затем выполнить команду как root, так же, как sudo, за исключением того, что переменные среды SUDO_USER
не будут установлены.
Если вам нужно выполнить отдельные команды из-под учетной записи пользователя, когда вы уже добавлены в root, вы можете добавить их с помощью /usr/bin/sudo -u $USER
.