Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

После добавления, удаления или изменения содержимого 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.

...