Кажется, в этих ответах много неверной информации. Чтобы сэкономить время, я публикую свои выводы:
Прежде всего, как и автор вопроса, у меня также есть ситуация, в которой мне нужно повысить разрешения из приложения Java .
Я разделил это на два сценария. Первый скрипт выполняется из Java с некоторым параметром командной строки. Второй скрипт выполняет все шаги, для которых требуются права суперпользователя. Идея, конечно, состоит в том, чтобы использовать cocoasudo в первом сценарии для выполнения второго сценария с привилегиями root.
Я подтвердил путем обширного входа в отдельные файлы, что сценарии действительно выполняют то, что я намеревался. И они отлично работают при запуске вручную (с обычными привилегиями пользователя, конечно) из командной строки.
При запуске из приложения Java я получаю приглашение cocoasudo, но ничего не происходит. Не появляется даже первый вывод журнала из второго скрипта.
Когда я изменяю первый скрипт на использование osascript, снова с подтверждением, что все правильно, насколько сценарий идет, я даже не получаю подсказку, когда он запускается из Java.
Это все на OS X Mountain Lion. Как будто Apple встроила некоторые безопасные средства защиты, которые препятствуют выполнению сценариев с правами root изнутри Java.
Поскольку сам cocoasudo фактически выполняется, я склонен думать, что решение состоит в том, чтобы закодировать нечто похожее на cocoasudo, но выполнить все остальные необходимые действия, используя вызовы API-интерфейса Cocoa. Тогда это может быть также подписано кодом.