As regras do PolicyKit nunca entram em vigor

5

Estou tentando gravar um novo arquivo .rules para o PolicyKit. Minha tentativa de teste (no diretório /etc/polkit-1/rules.d/ ) é 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 arquivo test ainda está lá e não há saída de log depois de executar algo como $ pkexec -u otheruser bash

(Eu tentei marcar os arquivos .rules como executáveis.)

    
por Keidax 13.10.2014 / 17:23

2 respostas

7

Se você estiver no Ubuntu 17.04 (ou inferior) , então você ainda está 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 disser & lt; 0,106, então você só pode usar a sintaxe antiga

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

Boa sorte!

    
por Bart 30.11.2015 / 02:54
0

Para funcionar como esperado, você precisa colocar seus próprios arquivos .rules em:

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

Observe que isso também deve resolver essa pergunta .

    
por Sylvain Pineau 13.10.2014 / 18:11

Tags