我正在終端中運行以下命令。獲取sudo以通過GUI詢問密碼
在/ usr/bin中/ osascript -e '做shell腳本 「/路徑/到/的MyScript ARGS 2> & 1等」 具有管理員權限'
的問題是,該GUI被打開,詢問密碼,但它說osascript想進行更改。我想將osascript這個詞改爲我自己的單詞。
什麼是最佳解決方案?
我正在終端中運行以下命令。獲取sudo以通過GUI詢問密碼
在/ usr/bin中/ osascript -e '做shell腳本 「/路徑/到/的MyScript ARGS 2> & 1等」 具有管理員權限'
的問題是,該GUI被打開,詢問密碼,但它說osascript想進行更改。我想將osascript這個詞改爲我自己的單詞。
什麼是最佳解決方案?
請求輸入密碼的對話框是osascript
工具的一部分,您似乎無法更改它。您將不得不編寫自己的GUI應用程序來提示輸入密碼,並使用提升的權限運行該命令。
您可以使用expect命令來處理各種輸入問題。
沿着這條線怎麼樣?
let command = "do shell script \"/path/to/myscript args 2>&1 etc\" with administrator privileges"
let script = NSAppleScript(source: command)
let output = script?.executeAndReturnError(nil)
print(output)
這將運行命令,並顯示一個GUI提示您當前應用程序的名稱(我的可可應用程序使用此)。與使用Process類相比,唯一的缺點是你沒有得到關於命令成功的任何信息,你只需要輸出。
我有GUI,但我想問用戶名和密碼。我應該使用什麼命令而不是上面的命令? –
這是一個非常複雜的話題。我推薦https://developer.apple.com/library/content/documentation/Security/Conceptual/SecureCodingGuide/Articles/AccessControl.html –
好的謝謝。我已經閱讀了整個文檔,但仍然無法完成 –