Les règles de PolicyKit n'entrent jamais en vigueur

12

J'essaie d'écrire un nouveau .rulesfichier 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 testfichier est toujours là et il n'y a pas de sortie de journal après avoir exécuté quelque chose comme$ pkexec -u otheruser bash

(J'ai essayé de marquer les .rulesfichiers comme exécutables.)

Keidax
la source

Réponses:

15

Si vous utilisez Ubuntu 19.04 (ou une version inférieure), vous utilisez toujours l'ancienne version de PolKit, où il n'y a pas de fichiers .rules mais uniquement des fichiers .pkla et .conf.

À l'invite de commandes, procédez comme suit:

pkaction --version

S'il indique <0,106, vous ne pouvez utiliser que l'ancienne syntaxe.

Vous pouvez créer un fichier .pkla dans /etc/polkit-1/localauthority/

Bart
la source
1
Ubuntu 15.10 est toujours sur l'ancienne version. pkaction --versiondonnepkaction version 0.105
Roger Binns
5
Ubuntu 18.04 porte toujours 0.105 !!!! Oh mon!!!!
Osqui
1
Et même aucune version 0.106+ n'est en dépôt pour Ubuntu! OMG!
Suncatcher
2
ubuntu 19.04 pkaction version 0.105. Les nouveaux fichiers de règles sont écrits en JavaScript non pris en charge.
Denis Denisov
0

Pour fonctionner comme prévu, vous devez mettre vos propres .rulesfichiers dans:

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

Notez qu'il devrait également résoudre cette question .

Sylvain Pineau
la source
Déplacer le fichier là-bas ne semble rien changer. De plus, selon les docs polkit et le wiki Arch , /etc/polkit-1/rules.ddevrait être utilisé pour la configuration utilisateur. Je ne sais donc pas quelle différence fait la modification des répertoires.
Keidax
@Keidax: quel est le nom de votre .rulesfichier?
Sylvain Pineau
Actuellement/usr/share/polkit-1/rules.d/10-udisks-personal.rules
Keidax