为 polkit 设置 .pkla 规则

为 polkit 设置 .pkla 规则

我想在我的一个以非 root 用户身份运行的应用程序中使用 DBus 启动 systemd 服务myuser。为此,我需要设置一个使用 polkit 0.105 的 PolicyKit 并将以下 .pkla 文件添加到/etc/polkit-1/localauthority/50-local.d

Identity=unix-user:myuser
Action=org.freedesktop.systemd1.manage-unit-files;org.freedesktop.systemd1.manage-units
ResultActive=yes
ResultInactive=yes

然而,这在某种程度上并没有帮助它,因为当它按启动时的工作方式Permission denied运行时,我仍然从 DBus 收到错误。myuserroot

到目前为止我对 polkit 的理解实际上就是设置它的方法。

同样令我惊讶的是,执行时pkaction它什么也没返回。

是否polkit需要进一步设置?我刚刚通过apt-getubunutu 19.04 盒子安装了它。

答案1

在 org.freedesktop.systemd1.policy 中:

action id="org.freedesktop.systemd1.manage-units"
action id="org.freedesktop.systemd1.manage-unit-files"

尝试更换线路

<allow_active>auth_admin_keep</allow_active>

经过 :

<allow_active>yes</allow_active>

相关内容