Правила PolicyKit никогда не вступают в силу

3

Я пытаюсь написать новый файл .rules для PolicyKit. Моя тестовая попытка (в каталоге /etc/polkit-1/rules.d/ ) выглядит следующим образом:

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

Но насколько я могу судить, этот код никогда не запускается. Файл test по-прежнему существует, и после запуска чего-то вроде $ pkexec -u otheruser bash

(Я попытался маркировать .rules файлов как исполняемый файл.)

    
задан Keidax 13.10.2014 в 17:23
источник

2 ответа

5

Если вы находитесь на Ubuntu 17.04 (или ниже) , вы все равно используете старую версию PolKit, где нет файлов .rules, но только файлы .pkla и .conf.

в командной строке, выполните

pkaction --version

, если он говорит & lt; 0.106, вы можете использовать только старый синтаксис

Вы можете создать файл .pkla в папке /etc/polkit-1/localauthority/

Удачи!

    
ответ дан Bart 30.11.2015 в 02:54
0

Чтобы работать так, как ожидалось, вы должны поместить свои собственные файлы .rules в:

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

Обратите внимание, что он также должен решить этот вопрос .

    
ответ дан Sylvain Pineau 13.10.2014 в 18:11