...
polkit.addRule( function(action, subject) {...} );– для добавления правила авторизации;polkit.addAdminRule( function(action, subject) {...} );– для указания, кто является администратором;polkit.log( message );– для вывода дополнительной информации в системный журнал работы. Используется при отладке правил.polkit.spawn( ["/путь/к/сторонней/программе/", "аргумент1", ...] );– для запуска вспомогательной сторонней программы. Стандартный вывод этой программы будет возвращён как результат метода spawn.
...
Метод polkit.log( message )
Где message – строка, которая будет выведена Метод применяется для вывода дополнительной информации в системный журнал работы. Используется при отладке правил.
Метод используется не самостоятельно, а вызывается изнутри функции function(action, subject).
Параметр объекта:
message– строка, которая будет выведена в системный журнал.
Для формирования значения параметра message могут быть использованы объекты action и subject (см. описание объектов ниже).
Объект action
Объект содержит информацию о действии, относительного которого проводится проверка: разрешено или нет это действие пользователю.
...
action.lookup( "<название_переменной>" );– вывод значения переменной, установленной привилегированной программой.
Каждая привилегированная программа предоставляет свой набор переменных. Информация о них дана в документации привилегированной программы.
Если значение переменной<название_переменной>отсутствует, то методaction.lookupвернёт неопределённое значение.
Для примера, программаpkexecустанавливает переменнуюprogram, содержащую путь до команды, запускаемой от имени другого пользователя. Для получения значения этой переменной используется методaction.lookup("program").
При использовании объекта объекта action без указания атрибута или метода, будут выведены одной строкой: название действия и переменные привилегированной программы.
...
| Блок кода |
|---|
окт 22 00:55:27 astra-28739 polkitd[18387]: action=[Action id='org.freedesktop.policykit.exec' program='/usr/bin/echo' user.display='administrator' command_line='/usr/bin/echo 33333' user='administrator' polkit.message='Authentication is needed to run `$(program)' as user $(user.display)' polkit.gettext_domain='polkit-1' user.gecos=''] |
Объект subject
Более полная информация о правилах и их составлении дана на странице polkit или доступна по команде "man 8 polkit".
...