3

我正在寻找一种在我正在开发的 python GUI 应用程序中升级权限的方法。我想要的模型是 GUFW。我喜欢你不必以 root 身份运行主程序,但是当你做任何“rooty”的事情时,你必须“解锁”它。

我有一个程序,我正在开发文本文件,这些文本文件需要保存在用户的主目录树或 /usr 的目录中(需要根提升)。

我不想以 root 身份运行程序,但是当/如果我需要将文件保存给与运行程序的用户不同的用户(在本例中为 root)时,我会调用 root 访问权限。

我不想将其保存到临时位置并恢复为 (ba)sh 调用,例如:

os.system('gksu cp /tmp/myfile /usr/systemdir/myfile')

如果可能的话,我想在 Python 中以编程方式完成这一切。将来,我可能需要的操作不仅仅是创建文件,还可能需要在文件中间进行一些附加操作。

此外,在完成保存操作后,我希望隐私降级。

有人可以为我指出一个教程或一些示例代码吗?

问候,

纳尼

4

1 回答 1

1

您想要的是PolicyKit - 用于执行此操作的 FreeDesktop 规范和软件。http://ubuntuforums.org/showthread.php?t=1359397是在 Python 中使用它的教程和示例代码(虽然没有亲自使用 PolicyKit,但我不能说它有多好或不好)。请注意,对于新的 dbus 和 glib,您将希望使用 GObject 内省 ( from gi.repository import DBus) 而不是旧的python-dbus绑定,与示例代码相比,这几乎肯定会发生变化。

于 2012-03-10T14:04:33.063 回答