2012-04-23 66 views
11

我有一個在Mac上運行的需要調用sudo的lua腳本。讓sudo通過GUI請求密碼

我倒是希望的Mac OS會自動彈出一個密碼請求對話框,而是它的命令通過返回256

失敗,反正是有,我可以實現我的目標是什麼?

回答

17

快速簡便的方法:這樣的

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

正確的和可配置的方式運行:使用AuthorizationExecuteWithPrivileges API從授權服務(在Security.framework)。

兩者都將顯示標準的Mac OS X GUI要求輸入管理員密碼,然後以root身份執行該命令,與sudo執行的方式相同,但SUDO_USER環境變量將不會被設置。

如果您需要在用戶帳戶下執行單個命令,而您已經升級到root用戶,則可以使用/usr/bin/sudo -u $USER作爲它們的前綴。

+0

太棒了,謝謝:) – tarmes 2012-04-23 15:34:59