为PyGtk应用程序授予root权限

时间:2012-07-27 12:26:23

标签: python gtk pygtk

或者代码的至少一部分。基本上我需要应用程序能够写入/etc但是作为仅限root访问权限的目录,应用程序需要具有root或伪root权限才能访问该目录。 我想到创建并将文件保存到~/Desktop,以便用户可以使用终端将其移动到/ etc但我放弃了这种方法有两个原因:

  1. 该应用程序旨在消除使用终端的需要(这也是为什么,我不想让用户需要使用$sudo APPNAME运行应用程序)
  2. 让应用程序将文件拖放到桌面需要它知道完整路径,'〜'似乎不起作用并返回错误。

1 个答案:

答案 0 :(得分:3)

如果您希望与操作系统更清晰地集成,我建议您尝试使用PolicyKit

有多种方式与之互动:

  1. 使用DBus。你可以找到一个很好的例子here
  2. 通过GObject instrospection使用Polkit模块。 Here's这是一个例子。
  3. 在这两种情况下,您都需要在/ usr / share / polkit-1 / actions上为您的应用程序安装特定的action configuration(或使用已存在的应用程序,如exec)。

    这可能会花费你更多的努力以这种方式实现它,但在我看来,它比子流程更清晰,并且可以更好地与操作系统和桌面环境集成(例如,密码请求对话框由DE)。