所以,我有一个软件在启动时总是要求输入密码。我想在运行这个软件时不gksu
每次都弹出这个密码提示。
我尝试的第一个方法是将其路径添加到 sudoers。但是,这没有用。后来我发现有一种叫做 policykit 的东西,如果某个程序想要使用某些 policykit 操作,它总是会提示用户输入密码(sudoers 对此没有影响)。
我遵循了指南如何防止 PolicyKit 要求输入密码?,但它仍然不起作用,所以我想我可能添加了错误的操作。
问题:我如何才能看到pkaction
我的程序使用了什么,以便我可以将其输入到我的.pkla 文件中?
答案1
Ask Ubuntu 有这个答案(如何配置 pkexec 不要求输入密码?) 比您之前找到的链接更接近您的需要。
作为查找应用程序的快速示例,我将使用自己的脚本进行说明。我想用 替换gksu
已弃用的 ,pkexec
所以我编写了一个名为佐治亚州立大学。
我援引佐治亚州立大学从命令行使用:
注意细节下拉箭头。单击它将显示以下内容:
在我的例子中巴基斯坦控制者组织.gnome.gedit。我将在下一个示例中使用它,您可以将其替换为您自己的:
如果您希望在运行时不输入密码,请进行以下设置:
<allow_any>yes</allow_any>
<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>
就我个人而言,我不喜欢反复输入密码,但不会将其更改gedit
为在使用 更改根文件时从不询问密码pkexec
。但是,我希望它在给定会话中多次运行时不会反复询问密码。您可以使用 执行此操作,sudo
并且可以将时间从 10 分钟延长到 120 分钟,就像我在系统上所做的那样。我希望策略套件具有类似的功能。
答案2
绕过政策工具包授权。在缺乏进一步细节的情况下,我最好的建议是不要这样做。
是因为它可能,
机制需要声明一组操作才能使用 polkit。操作对应于客户端可以请求机制执行的操作,并在机制安装到 /usr/share/polkit-1/actions 目录中的文件中定义。
pkaction --verbose
将生成有关所有 policykit 操作的详细输出。这在查看本地配置文件时很有用。您可以将此输出重定向到文本文件,以便以后以常规方式进行查看>later.review.txt
这些配置文件位于发出命令时列出的目录中sudo ls /var/lib/polkit-1/localauthority/
10-vendor.d 20-org.d 30-site.d 50-local.d 90-mandatory.d
挖掘并找到与之对应的 .pkla 文件您的未识别软件Action=
。由于没有任何有用的信息,我将假装它是 Unity Greeter。我们可以查看以该命令 开头的行,sudo grep "Action=" /var/lib/polkit-1/localauthority/10-vendor.d/unity-greeter.pkla
结果为
Action=org.freedesktop.NetworkManager.enable-disable-network;org.freedesktop.NetworkManager.enable-disable-wifi;org.freedesktop.NetworkManager.enable-disable-wwan;org.freedesktop.NetworkManager.enable-disable-wimax;
Action=org.freedesktop.NetworkManager.sleep-wake
Action=org.freedesktop.NetworkManager.wifi.share.protected;org.freedesktop.NetworkManager.wifi.share.open
Action=org.freedesktop.NetworkManager.settings.modify.own;org.freedesktop.NetworkManager.settings.modify.system;org.freedesktop.NetworkManager.settings.modify.hostname
Action=org.freedesktop.NetworkManager.use-user-connections
Action=org.freedesktop.NetworkManager.network-control
欲了解更多信息,请参阅最新的 polkit 参考手册这里并且可以找到有关 systemd 的相关信息这里
正如@muru 指出的那样,还有一个相关的问答这里
资料来源:
https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html