2012-01-19 10 views
7

He hecho algunas excavaciones y las ideas principales que he visto flotando están usando setuid/getuid y usando los Servicios de Autorización (que, por alguna razón, me da un error de símbolo al compilar pero aparece estar en desuso ahora).Escalar Privilegios de aplicación programáticamente OS X

Mi aplicación necesita poder solicitar acceso raíz (para acceder a una unidad de disco sin formato) en un determinado punto, preferiblemente con el cuadro de diálogo de autenticación OS X (soy nuevo en OS X, así que no tengo idea de qué llamar ese).

Respuesta

2

Authorization Services es bastante compatible, AFAIK.

Here's a link to a tutorial (with sample projects!) que puede utilizar para iniciar una pequeña herramienta en la que puede obtener privilegios de administrador y luego puede llamar al setpriority API en su proceso de llamada (documentación vinculada para usted).

+0

Gracias! Por alguna razón, no puedo encontrar dónde se declara AuthorizationExecuteWithPrivileges cuando #include Tengo símbolos para casi todo lo demás, excepto esa función – Lander

+0

http://developer.apple.com/library/ mac/# documentation/Security/Reference/authorization_ref/Reference/reference.html dice que AuthorizationExecuteWithPrivileges ha quedado obsoleto desde 10.7. http://stackoverflow.com/questions/6841937/authorizationexecutewithprivileges-is-deprecated tiene alguna información relacionada. – Vishal

+0

Whooops ... 'AuthorizationExecuteWithPrivileges' se convirtió en" obsoleto "a partir de 10.7. Estoy mirando las [Tareas de los Servicios de Autorización] de Apple (http://developer.apple.com/library/mac/#documentation/Security/Conceptual/authorization_concepts/03authtasks/authtasks.html#//apple_ref/doc/uid/TP30000995 -CH206-TP9) documentación para ver cómo puede ['renice'] (http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man8/renice.8.html) la llamada proceso. –

Cuestiones relacionadas