История изменений
Исправление intelfx, (текущая версия) :
Ещё раз: есть аутентификация, а есть авторизация. Вот polkit — это прослойка между ними. Всё очень похоже на sudo, только более развесисто и гибко.
Изначально у нас есть программа-«сервер» (привилегированная, выполняющая запросы) и «клиент» (непривилегированный, генерирующий запросы). Задача: авторизовать конкретный запрос клиента.
Обычно запрос — это вызов метода по D-Bus, но возможны варианты. Например, pkexec(1) — это такой эквивалент sudo (SUID-ный бинарник), только вместо sudoers у него вся эта полкитовская машинерия.
Так вот, polkit выполняет авторизацию: определяет, можно ли данному пользователю выполнять данное действие. Если нельзя, то выполняется аутентификация: пользователю предлагается продемонстрировать доступ к более привилегированой учётной записи. Для этого и нужны агенты.
Исходная версия intelfx, :
Ещё раз: есть аутентификация, а есть авторизация. Вот polkit — это прослойка между ними. Всё очень похоже на sudo, только более развесисто и гибко.
Изначально у нас есть программа-«сервер» (привилегированная, выполняющая запросы) и «клиент» (непривилегированный, генерирующий запросы). Задача: авторизовать конкретный запрос клиента.
Обычно запрос — это вызов метода по D-Bus, но возможны варианты. Например, pkexec(1) — это такой эквивалент sudo (SUID-ный бинарник), только вместо sudoers у него вся эта полкитовская машинерия.
Так вот, polkit выполняет авторизацию: определяет, можно ли данному пользователю выполнять данное действие. Если нельзя, то выполняется аутентификация: пользователю предлагается продемонстрировать доступ к более привилегированой учётной записи. Вот для последнего и нужны агенты.