2015-08-16 38 views
0

對於UNIX權限,我很缺乏經驗。我有一個Python腳本,可以啓動一些其他Python腳本以及其他程序,如tcpdump。所有這些進程都通過subprocess.Popen啓動,其中一些程序在終端中打開(通過x-terminal-emulator -e選項)。多個Python腳本和根權限

然而,一些腳本/程序需要以root身份啓動。我試圖在較小的腳本中分割整個功能,並且在必要時只使用sudo。現在我的問題是,我的設置要求我每次啓動整個事情時輸入我的root密碼,如3或4次。

我在尋找的是一種當我啓動原始腳本時輸入密碼一次,但只在我的腳本中的指定位置授予實際根權限的方法。誰能幫我嗎? :)

+0

只要提一下它,你就可以擁有一個以root身份運行的守護進程,它可以完成所有根需要的事情。然後從您的非根腳本與它進行通信。 – Cyphase

回答

1

這樣做的一種方法是以root身份啓動,fork所有子進程,然後將權限放在不需要特權的(子)進程中。

舉一個例子,看here

還有一些其他的建議,以及在同一職位。

+0

謝謝,這聽起來像一個合理的想法。也要檢查出其他建議,但。 – zinfandel