Risposta aggiornata:
C'è un Apple doc che mostra il modo corretto di farlo. Eri vicino.
(Non l'ho provato da solo)
fai script di shell "rm -rf / $ HOME / Downloads / *" nome utente "USERNAME" password "THEPASSWORD" con privilegi di amministratore
Dal doc :
How do I get administrator privileges for a command?
Use the administrator privileges, user name and password parameters
like this:
do shell script "command" user name "me" password "mypassword" with
administrator privileges user name and password are optional; if you
omit the user name, do shell script assumes it to be the current user;
if you omit the password, it will ask for a password when it runs.
Once a script is correctly authenticated, it will not ask for
authentication again for five minutes. As of Mac OS X 10.4, this grace
period does not extend to any other scripts or to the rest of the
system; manually calling sudo -k is unnecessary.
For security reasons, you may not tell another application to do shell
script with administrator privileges. Put the command outside of any
tell block, or put it inside a tell me block.
Bear in mind that administrator privileges allow you to change any
file anywhere in the system. You can render your system unbootable or
even erase the entire disk with a few well-placed commands, so
exercise caution. Better yet, don’t use administrator privileges
unless you absolutely have to. Unless you are doing system-level
development, you should never need to change anything in /System —
changing /Library should suffice.
Note: Using sudo(8) with with administrator privileges is generally
unnecessary and creates security holes; simply remove the "sudo".
AGGIORNAMENTO IMPORTANTE 2
* Puoi salvare l'app come "esegui solo" (salva prima una copia modificabile per te stesso)
(Se lo salvi solo come Run Only anche se non sarai in grado di aprirlo e modificarlo più tardi una volta chiusa la finestra dello script.)
Quindi utilizza il menu File- > Esporta che ti darà l'opzione nella finestra di dialogo Salva per salvare come "Solo esecuzione"
Tentativodiaprireilfilemain.scptnelpacchettodell'applicazione:
A Run only impedirà a qualcuno di aprire lo script incorporato nell'applicazione facendo doppio clic su di esso per aprirlo in Script Editor e scoprire la tua password. Ma c'è un modo per trovare il nome utente e la password da un Run Only e non è così difficile da capire anche per un utente occasionale.
MI PENSERA 'DUE VOLTE PER REALIZZARE IL NOME E LA PASSWORD DELL'UTENTE NELL'APP.
UPDATE 3
Una piccola idea per aiutarti se devi fare questo è rompere il testo della password creando un nome di variabile senza senso per tenerlo e mischiarlo.
Quando il codice viene eseguito, verrà riassemblato nell'ordine corretto.
Ad esempio.
se la password è 88 > 0TpFpax
Userò:
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
Si noti che non solo la variabile non significa nulla o mostra alcun senso dell'ordine, ma anche i bit della password sono confusi all'interno di essi.
Tutto finché il codice non viene eseguito.
Quindi, anche se incappano in come fare ciò di cui sto parlando, la password non verrà assemblata in alcun ordine che possa essere semplicemente utilizzata.