在python中以root身份运行子进程命令

时间:2014-01-05 05:25:37

标签: python linux passwords python-2.x

我正在编写一个GUI程序,用于配置系统设置。为此,整个程序不应该以root身份运行,否则它将为root用户配置系统。但是,有一个子进程命令需要以root身份运行,我不确定如何安全地将其正确地合并到我的GUI中,原因如下。

  1. 用户几乎必须将其输入GUI前端。
  2. 我不确定如何验证用户密码是否确实正确。如何添加防错以提醒用户密码不正确,而不仅让命令失败。
  3. 如何安全地运行它,因为将涉及用户密码。
  4. 我被推荐创建一个守护进程,并将命令传递给它。这看起来有点矫枉过正,因为它只是一个需要运行的命令。由于用户不能只将其输入终端,因此需要由GUI的前端处理。

    有没有人对如何合并此功能有任何其他想法?

1 个答案:

答案 0 :(得分:2)

您可以使用pkexec

例如:

proc = subprocess.Popen(['/usr/bin/pkexec', command])