As regras do PolicyKit nunca entram em vigor


12

Estou tentando escrever um novo .rulesarquivo para o PolicyKit. Minha tentativa de teste (no diretório /etc/polkit-1/rules.d/) fica assim:

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;
});

Mas até onde eu sei, esse código nunca é executado. O testarquivo ainda está lá e não há saída de log após executar algo como$ pkexec -u otheruser bash

(Tentei marcar os .rulesarquivos como executáveis.)

Respostas:


15

Se você estiver no Ubuntu 19.04 (ou inferior) , ainda estará usando a versão antiga do PolKit, onde não há arquivos .rules, mas apenas arquivos .pkla e .conf.

No prompt de comando, faça:

pkaction --version

Se for <0,106, você poderá usar apenas a sintaxe antiga.

Você pode criar um arquivo .pkla em /etc/polkit-1/localauthority/


11
O Ubuntu 15.10 ainda está na versão antiga. pkaction --versionpkaction version 0.105
Roger Binns 24/03

5
Ubuntu 18.04 ainda carrega 0.105 !!!! Oh meu!!!!
Osqui

11
E mesmo nenhuma versão 0.106+ está em repositórios para Ubuntu! AMD!
Suncatcher 6/18

2
Ubuntu 19.04 pkaction version 0.105. Novos arquivos de regras são gravados em JavaScript sem suporte.
Denis Denisov

0

Para funcionar como esperado, você deve colocar seus próprios .rulesarquivos em:

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

Observe que ele também deve resolver esta questão .


Mover o arquivo para lá não parecia mudar nada. Além disso, de acordo com os documentos do polkit e o wiki do Arch , /etc/polkit-1/rules.ddeve ser usado para a configuração do usuário. Portanto, não tenho certeza de que diferença faz a alteração de diretórios.
Keidax

@ Keidax: qual é o nome do seu .rulesarquivo?
22614 Sylvain Pineau

Atualmente/usr/share/polkit-1/rules.d/10-udisks-personal.rules
Keidax
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.