Я пытаюсь записать новое .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
файлы как исполняемый файл.)
Если Вы находитесь на Ubuntu 19.04 (или ниже) тогда Вы все еще используете старую версию PolKit, где нет никаких .rules файлов, но только .pkla и .conf файлов.
На командной строке, сделайте:
pkaction --version
, Если это говорит < 0.106, тогда можно только использовать старый синтаксис.
можно создать .pkla файл в /etc/polkit-1/localauthority/
Для работы как ожидалось необходимо вставить собственное .rules
файлы:
/usr/share/polkit-1/rules.d
Примечание, что это должно также решить этот вопрос .