Parece que hay mucha información incorrecta en estas respuestas. Para salvar a otras personas, publico mis propios hallazgos:
En primer lugar, al igual que el cartel de la pregunta, también tengo la situación de que necesito elevar los permisos desde una aplicación Java.
He dividido esto en dos scripts. El primer script se ejecuta desde Java con algún parámetro de línea de comando. La segunda secuencia de comandos realiza todos los pasos que necesitan privilegios de raíz. La idea es, por supuesto, utilizar cocoasudo en el primer script para realizar el segundo script con privilegios de root.
He confirmado a través de un registro extenso en archivos separados que los scripts realmente hacen lo que pretendía. Y funcionan bien cuando se inician manualmente (con privilegios de usuario normales, por supuesto) desde la línea de comandos.
Cuando se inicia desde la aplicación Java, obtengo el mensaje de cocoasudo, pero no pasa nada. Ni siquiera aparece la primera salida de registro del segundo script.
Cuando cambio la primera secuencia de comandos para usar osascript, de nuevo con la confirmación de que todo está correcto en cuanto a la secuencia de comandos, ni siquiera aparece una solicitud cuando se ejecuta desde Java.
Esto es todo en OS X Mountain Lion. Como si Apple creara algunas protecciones seguras que impidan que los scripts se ejecuten con privilegios de root desde Java.
Dado que el propio cocoasudo se ejecuta realmente, me inclino a pensar que la solución es codificar algo similar a cocoasudo, pero realizando todas las demás acciones necesarias usando las llamadas Cocoa API. Esto también puede ser firmado por código.
cuando abro MAMP, me preguntan para dar mi contraseña O cuando instalo un paquete ... ¿a qué se llama ese cuadro emergente en os x? – Johannes