Se PolKit versão < 0.106 , existem arquivos não .rules , mas somente arquivos antigos .pkla e .conf .
Você pode verificar a versão de Polkit em: pkaction --version
policykit-1 version 0.105-17
Não consigo fazer com que a regra do policykit funcione. Tudo o que quero é permitir que qualquer pessoa possa executar systemctl daemon-reload no sistema (para fins de teste).
Eu encontrei o nome da ação para essa tarefa no arquivo org.freedesktop.systemd1.policy as org.freedesktop.systemd1.reload-daemon . Eu deixei cair em uma regra simples como segue:
/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;
}
});
Espero que esta regra permita que qualquer pessoa execute esta ação, mas esse não é o caso.
Eu executei o policykit da linha de comando como sudo /usr/lib/policykit-1/polkitd e usei polkit.log("Hello my rule"); em minha regra apenas para ver se a regra já foi executada e também não teve sorte.
O que estou perdendo?
Se PolKit versão < 0.106 , existem arquivos não .rules , mas somente arquivos antigos .pkla e .conf .
Você pode verificar a versão de Polkit em: pkaction --version
Parece que a versão que estou usando tem um bug. Eu mudei para a versão 0.113-5 no debian e funcionou como charme.
Tags polkit