...
После добавления, удаления или изменения содержимого rules-файла служба polkitd автоматически заново перечитывает правила из rules-файлов.
Создаются две очереди правил.
Правила распределяются по двум очередям.
В одну очередь попадают правила, добавленные с помощью метода polkit.addRule (см. описание ниже). Polkitd, получив запрос на проверку права пользователя выполнить действие, начинает выполнять правила в порядке их расположения в памятиочереди. Выполнение правил останавливается на первом же правиле, которое вернёт какое-либо значение. Если ни одно правило не вернуло значение, то дальнейшее поведение поведение Polkitd определяется действиями, описанными в policy-файлах.
В другую очередь попадают правила, добавленные с помощью метода polkit.addAdminRule (см. описание ниже). Эти правила используются, когда требуется определить, какие учётные записи принадлежат администраторам операционной системы. Правила выполняются в порядке их расположения в очереди. Выполнение правил останавливается на первом же правиле, которое вернёт значение.
Правила написаны на языке программирования JavaScript в виде методов глобального объекта polkit.
...
Метод добавляет функцию function(action, subject), которая вызывается, когда требуется аутентифицировать администратора системы.
Функция должна возвращать Результатом функции является массив, который может содержать строки:
| Строка | Описание |
|---|---|
"unix-group:<название_группы>" | Пользователи, входящие в группу <название_группы>, являются администраторами операционной системы |
"unix-netgroup:<название_сетевой_группы>" | Пользователи, входящие в сетевую группу <название_сетевой_группы>, являются администраторами операционной системы |
"unix-user:<имя_пользователя>" | Пользователь <имя_пользователя> является администратором операционной системы |
Если функция вернула null, undefined, или не вернула массив хотя бы с одной строкойсовсем ничего, то Polkitd приступит к выполнению следующего по порядку правила, добавленного методом методом polkit.addAdminRule.
Пример правила, которое назначает администраторами системы пользователя user1 и всех пользователей группы sudo.
...