polkit 规则不起作用

polkit 规则不起作用
policykit-1 version 0.105-17

我似乎无法使政策包规则发挥作用。我想要的只是让任何人都能够systemctl daemon-reload在系统中运行(用于测试目的)。

org.freedesktop.systemd1.policy我从文件中找到了该任务的操作名称org.freedesktop.systemd1.reload-daemon.我加入了一个简单的规则如下:

/usr/share/polkit-1/rules.d/01-umut.rules

polkit.addRule(function(action, subject) {
        if (action.id == "org.freedesktop.systemd1.reload-daemon") {
                    return polkit.Result.YES;
            }
});

我希望这条规则允许任何人执行此操作,但事实并非如此。

我已经从命令行运行了policykit,sudo /usr/lib/policykit-1/polkitd并在我的规则中使用它polkit.log("Hello my rule");,只是为了看看该规则是否被执行,但也没有运气。

我缺少什么?

答案1

如果PolKit版本 < 0.106,则有 .rules文件,但仅限旧.pkla文件.conf

您可以通过以下方式检查版本Polkitpkaction --version

答案2

看来我使用的版本有错误。我已经在 debian 上切换到 0.113-5 版本,它的效果非常好。

相关内容