Правила PolicyKit никогда не вступают в силу - proUbuntu
9 голосов
/ 13 октября 2014

Я пытаюсь написать новый .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 как исполняемые.)

Ответы [ 2 ]

10 голосов
/ 30 ноября 2015

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

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

pkaction --version

если написано <0.106, то вы можете использовать только старый синтаксис </p>

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

Удачи!

1 голос
/ 13 октября 2014

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

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

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

...