Respuesta actualizada:
Hay un Documento de Apple que muestra la forma correcta de hacerlo. Estuviste cerca.
(No lo he probado)
do shell script "rm -rf /$HOME/Downloads/*" nombre de usuario "USERNAME" contraseña "THEPASSWORD" con privilegios de administrador
Del documento :
¿Cómo puedo obtener privilegios de administrador para un comando?
Utilice los parámetros de privilegios de administrador, nombre de usuario y contraseña así:
do shell script "comando" nombre de usuario "yo" contraseña "micontraseña" con privilegios de administrador el nombre de usuario y la contraseña son opcionales; si omite el nombre de usuario, do shell script asume que es el usuario actual; si omite la contraseña, le pedirá una contraseña cuando se ejecute. Una vez que un script se autentifica correctamente, no pedirá autenticación durante cinco minutos. A partir de Mac OS X 10.4, esta gracia período de gracia no se extiende a ningún otro o al resto del sistema; llamar manualmente a sudo -k es innecesario.
Por razones de seguridad, no puede decirle a otra aplicación que haga shell script con privilegios de administrador. Ponga el comando fuera de cualquier bloque bloque tell, o póngalo dentro de un bloque tell me.
Tenga en cuenta que los privilegios de administrador le permiten cambiar cualquier archivo en cualquier parte del sistema. Puedes hacer que tu sistema no arranque o incluso borrar todo el disco con unos pocos comandos bien colocados, así que tenga cuidado. Mejor aún, no uses los privilegios de administrador a menos que sea absolutamente necesario. A menos que estés haciendo desarrollo a nivel de sistema desarrollo a nivel de sistema, nunca debería necesitar cambiar nada en /System - cambiar /Library debería ser suficiente.
Nota: El uso de sudo(8) con privilegios de administrador es generalmente innecesario y crea agujeros de seguridad; simplemente elimine el "sudo".
ACTUALIZACIÓN IMPORTANTE 2
*Puedes guardar la aplicación como "sólo ejecución" (Guarda primero una copia editable para ti)
( Si sólo lo guardas como Run Only incluso no podrás abrirlo y editarlo más tarde una vez que hayas cerrado la ventana de script).
A continuación, utilice el Archivo->Exportar que le dará la opción, en el diálogo de guardar, de guardar como "Run Only".
![enter image description here]()
Intento de abrir el archivo main.scpt en el paquete de aplicaciones:
![enter image description here]()
Un Run only impedirá que alguien abra el script incrustado en la Aplicación haciendo doble clic en él para abrirlo en el Editor de script y descubrir su contraseña. Pero hay una forma de encontrar el nombre de usuario y la contraseña desde un Run Only y no es tan difícil de averiguar incluso para un usuario casual.
YO ME LO PENSARÍA DOS VECES ANTES DE PONER TU NOMBRE DE USUARIO Y CONTRASEÑA EN LA APLICACIÓN.
ACTUALIZACIÓN 3
Una pequeña idea para ayudar si debes hacer esto es romper el texto de la contraseña creando nombres de variables sin sentido para mantenerla y mezclarlos.
Cuando el código se ejecute, los volverá a ensamblar en el orden correcto.
Por ejemplo.
si la contraseña es 88>0TpFpax
Voy a usar:
set T to "Tp"
set Po to "88"
set TC to "Fpax"
set TEH to ">0"
do shell script "say blahbla" user name "markhunte" password (Po & TEH & T & TC as string) with administrator privileges
Obsérvese que no sólo las variables no significan nada ni muestran ningún sentido de orden, sino que los bits de la contraseña están desordenados dentro de ellas.
Todo hasta que el código se ejecute.
Así que incluso si se tropieza con la forma de hacer lo que estoy hablando de la contraseña no se reunió en cualquier orden que sólo puede ser utilizado.