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
。
您可以通过以下方式检查版本Polkit
:pkaction --version
答案2
看来我使用的版本有错误。我已经在 debian 上切换到 0.113-5 版本,它的效果非常好。