我在通过策略工具包进行身份验证时遇到问题。Sudo 工作正常。
关于这一点上一个问题,这是我的输出
$ ps aux | grep [p]olkit
pkcheck --action-id org.freedesktop.systemtoolsbackends.set --allow-user-interaction --process $(pidof -s bash)
这里(我已用星号替换了我的个人信息):
$ ps aux | grep [p]olkit
root 1003 0.0 0.0 286500 6824 ? Sl Oct21 1:04 /usr/lib/policykit-1/polkitd --no-debug
******** 4685 0.0 0.0 651540 17792 ? Sl 09:33 0:00 /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
$ pkcheck --action-id org.freedesktop.systemtoolsbackends.set --allow-user-interaction --process $(pidof -s bash)
Error checking for authorization org.freedesktop.systemtoolsbackends.set: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: Action org.freedesktop.systemtoolsbackends.set is not registered
如有任何关于解决此问题的信息,我们将不胜感激!
答案1
Action org.freedesktop.systemtoolsbackends.set is not registered
! 可能是你缺少.policy
声明此 polkit 操作的文件
您的命令在机器(Ubuntu 16.04)上运行良好,让我们来跟踪它:
~$ pkcheck --action-id org.freedesktop.systemtoolsbackends.set --allow-user-interaction --process $(pidof -s bash)
polkit\56retains_authorization_after_challenge=true
polkit\56temporary_authorization_id=tmpauthz1
~$ grep -r "org.freedesktop.systemtoolsbackends.set" /usr/share/polkit-1/actions/
/usr/share/polkit-1/actions/org.freedesktop.SystemToolsBackends.policy: <action id="org.freedesktop.systemtoolsbackends.set">
~$ dpkg -S /usr/share/polkit-1/actions/org.freedesktop.SystemToolsBackends.policy
system-tools-backends: /usr/share/polkit-1/actions/org.freedesktop.SystemToolsBackends.policy
要确认问题,请检查是否已安装apt-cache policy system-tools-backends
要修复此问题,请尝试重新安装其包:
sudo apt-get install --reinstall system-tools-backends