簡體   English   中英

如何在Mac OS X中從Python以root身份運行命令?

[英]How to run command as root from Python in Mac OS X?

在我的Python GUI應用程序中,我必須以root用戶身份運行命令以執行某些操作(具體來說,它會在系統范圍內安裝Python模塊)。 在Linux上,我只需在傳遞給subprocess.Popen()的命令前使用gksudo或kdesu即可。 不幸的是,似乎沒有與Mac相當的產品。 在指向一些稱為BetterAuthorizationSample的復雜Objective-C代碼之前,我已經看到了這個問題。我不太了解它,寧願不編寫Objective-C代碼來完成此簡單任務。 如果有更簡單的方法,我想知道。 我想我可以創建自己的密碼對話框,並將其傳遞給stdin上的常規命令行sudo。

我不知道如何提高權限,但是您可以使用一些AppleScript要求輸入密碼。 有關示例,請參見https://github.com/apenwarr/sshuttle/blob/master/ui-macos/askpass.py

我沒有找到最佳的解決方案,但我只是在這里發布了我目前正在使用的解決方案

它使用osascript以root權限重新啟動自己。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM