J'essaie d'écrire un nouveau fichier .rules
pour PolicyKit. Ma tentative de test (dans le répertoire /etc/polkit-1/rules.d/
) ressemble à ceci:
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;
});
Mais pour autant que je sache, ce code n'est jamais exécuté. Le fichier test
est toujours présent et il n'y a pas de sortie de journal après l'exécution de quelque chose comme $ pkexec -u otheruser bash
(J'ai essayé de marquer les fichiers .rules
comme exécutables.)
Si vous êtes sur buntu 19.04 (ou inférieur) , vous utilisez toujours l'ancienne version de PolKit, où il n'y a pas de fichiers .rules, mais uniquement des fichiers .pkla et .conf.
Sur l'invite de commande, faites:
pkaction --version
Si la valeur est inférieure à 0,106, vous ne pouvez utiliser que l'ancienne syntaxe.
Vous pouvez créer un fichier .pkla dans /etc/polkit-1/localauthority/
Pour fonctionner comme prévu, vous devez placer vos propres fichiers .rules
dans:
/usr/share/polkit-1/rules.d
Notez qu'il devrait également résoudre ceci question .