python-为PyGtk应用赋予root特权
作者:互联网
或至少一部分代码.从本质上讲,我需要使该应用程序能够写入/ etc,但该应用程序需要以root用户身份或虚假的root用户身份访问该目录,而该目录只能是root用户访问.
我考虑过将文件创建并保存到〜/ Desktop,以便用户随后可以使用终端将其移动到/ etc,但是出于两个原因,我放弃了该方法:
>该应用程序旨在消除使用终端的需要(这也是为什么,我不想让用户需要使用$sudo APPNAME运行该应用程序)
>让应用将文件拖放到桌面需要它知道完整路径,“〜”似乎不起作用并返回错误.
解决方法:
如果您想与操作系统进行更清洁的集成,建议您尝试使用PolicyKit.
有多种交互方式:
>使用DBus.您可以找到一个很好的示例here.
>通过GObject自省使用Polkit模块. Here’s为此的一个例子.
在这两种情况下,您都需要在/usr/share / polkit-1 / actions上为应用程序安装特定的action configuration(或使用已经存在的应用程序,例如exec).
以这种方式实现它可能会花费您更多的精力,但我认为它比子过程更干净,并且可以更好地与操作系统和桌面环境集成(例如,DE提供密码请求对话框) .
标签:gtk,pygtk,python 来源: https://codeday.me/bug/20191201/2077469.html