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

Ключ

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

...

Polkit (ранее известный как PolicyKit) – система авторизации, которая решает: разрешить или запретить запрашиваемое пользователем действие, требующее повышенных привилегий. При этом сам пользователь не наделяется повышенными привилегиями, что отличается, например, от программы sudo. В каких-то случаях для принятия решения polkit может запросить у пользователя его пароль или пароль привилегированного пользователя.

... позволяющий непривилегированным пользователям (процессам) инструмент для управления авторизацией. Он позволяет непривилегированным процессам выполнять действия, требующие права администратора. При этом непривилегированные пользователи (процессы) не наделяются правами администратора, что отличается от программы sudo.

Официальная документация расположена на странице "polkit Reference Manual".


В набор программ polkit входят:

ПрограммаОписание
polkit

Менеджер авторизации.

Является динамической библиотекой libpolkit-gobject-1.so.0, подключаемой к привилегированным программам.

polkitdСистемная служба polkitd
pkcheckПрограмма для проверки того,  что определённому процессу дано право выполнять определённое действие в операционной системе
pkactionПрограмма для вывода информации о зарегистрированном действии
pkexecПрограмма для выполнения команды от имени другого пользователя
pkttyagentТекстовой агент аутентификации


Алгоритм работы polkit:

  1. Пользователь непривилегированной программы обращается (вызывает) к привилегированной программе для выполнения какого-либо действия, требующего привилегий (прав администратора).
  2. Для проверки права пользователя на выполнение действия – привилегированная программа обращается к системной службе polkitd.
  3. Системная служба polkitd исходя из хранящихся правил и действий:
    - при необходимости с помощью агента аутентификации запрашивает у пользователя его пароль или пароль привилегированного пользователя;
    - определяет разрешено ли пользователю выполнять запрашиваемое действие в привилегированной программе.
  4. Системная служба polkitd отвечает привилегированной программе: разрешается или нет выполнить для пользователя запрошенное действие.
  5. Если от polkitd получено разрешение, то привилегированная программа выполняет действие, запрошенное пользователем.



Image Added

Схема работы polkit


Использование polkit приложениями

Для каждой привилегированной программы должен храниться файл *.policy, в котором описаны возможные действия, выполняемые программой.

Image Removed

Схема работы polkit

Использование polkit приложениями

Агенты аутентификации

Журналирование

...

Пример создания правила

Библиография

Polkitpolkit Reference Manual