2015-08-16 37 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