2012-04-23 5 views
11

Tengo una secuencia de comandos lua, que se ejecuta en la Mac, que necesita para llamar a sudo.Cómo obtener sudo para solicitar la contraseña a través de la GUI

yo esperaba que el Mac OS daría lugar automáticamente un cuadro de diálogo de solicitud de contraseña, pero en cambio, el comando falla devolviendo 256.

¿Hay alguna forma que puedo lograr mi objetivo?

Tim

Respuesta

17

manera rápida y fácil: lo llevan como esto

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

manera adecuada y configurable: utilizar AuthorizationExecuteWithPrivileges API de servicios de autorización (en Security.framework).

Ambos mostrarán la GUI de Mac OS X estándar solicitando la contraseña de administrador y luego ejecutarán el comando como root, de la misma manera que sudo, excepto que las variables de entorno SUDO_USER no se establecerán.

Si necesita ejecutar comandos individuales desde la cuenta de usuario cuando ya está elevado a la raíz, puede anteponerlos al /usr/bin/sudo -u $USER.

+0

Fantástico, gracias :) – tarmes

Cuestiones relacionadas