3

我正在 Vala 中创建一个简单的基于 GTK+ 的应用程序,它应该能够写入系统目录,因此它需要 root 访问权限。我意识到授予完全 root 访问权限是一个坏主意,因此我需要一种获得临时权限的方法。

理论上,PolicyKit D-Bus 服务是完成这项工作的工具,但我不知道如何使用它,更不用说在 Vala 代码中了。任何见解将不胜感激。

更新: 我做了一些进一步的挖掘。我的出发点是这个。所以基本上我需要的是找出如何使这些解决方案适应 PolicyKit。为此,需要找到PolicyKit的D-Bus接口。我在这里找到了。(奇怪的是我没有在我的本地/usr/share/dbus-1/interfaces文件夹中找到它。)但现在我不知道如何继续。

4

1 回答 1

2

polkit参考手册包含一些很好的信息,包括关于编写 polkit 应用程序的高级概述。

与其直接使用 D-Bus 接口,不如考虑使用libpolkit-gobject-1库。您可以直接使用 GIR,也可以使用 vapigen 生成 VAPI(我会推荐)。 是我刚刚生成的一个。我对 API 不是很熟悉,但是很容易使用 C API 参考作为参考来找出 Vala API。

于 2013-02-25T01:57:03.117 回答