PolicyKit规则永远不会生效
我正在尝试为PolicyKit编写一个新的.rules
文件。 我的测试尝试(在目录/etc/polkit-1/rules.d/
)如下所示:
polkit.addRule(function(action, subject) { polkit.spawn(["rm","/home/gabriel/test"]); if (action.id == "org.freedesktop.policykit.exec") { polkit.log("action=" + action); polkit.log("subject=" + subject); } return polkit.Result.NOT_HANDLED; });
但据我所知,这段代码永远不会运行。 test
文件仍然存在,运行$ pkexec -u otheruser bash
之后没有日志输出
(我已经尝试将.rules
文件标记为可执行文件。)
如果您使用的是Ubuntu 17.04(或更低版本),那么您仍然使用旧版本的PolKit,其中没有.rules文件,只有.pkla和.conf文件。
在命令提示符下,执行
pkaction --version
如果它说<0.106,那么你只能使用旧的语法
您可以在/etc/polkit-1/localauthority/
创建.pkla文件
祝好运 !
要按预期工作,您必须将自己的.rules
文件放入:
/usr/share/polkit-1/rules.d
请注意,它也应该解决这个问题 。