2012-04-23 9 views
11

Ich habe ein Lua-Skript, das auf dem Mac läuft, das Sudo aufrufen muss.Sudo kann über die GUI nach einem Passwort fragen

ich gehofft hatte, dass Mac OS automatisch eine Passwortabfrage Dialog bringen würde, sondern es der Befehl fehlschlägt von 256.

Rückkehr Gibt es trotzdem, dass ich mein Ziel erreichen?

Tim

Antwort

17

Schnelle und einfache Möglichkeit: führen Sie es wie diese

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

Proper und konfigurierbare Art und Weise: Verwenden Sie AuthorizationExecuteWithPrivileges API von Authorization Services (in Security.framework).

Beide zeigen die standardmäßige Mac OS X GUI an, in der nach dem Administratorkennwort gefragt wird, und führen dann den Befehl als root aus, genauso wie sudo, außer dass SUDO_USER Umgebungsvariablen nicht gesetzt werden.

Wenn Sie einzelne Befehle unter Benutzerkonto ausführen müssen, wenn Sie bereits auf root gestellt sind, können Sie sie mit /usr/bin/sudo -u $USER voranstellen.

+0

Fantastisch, danke :) – tarmes

Verwandte Themen