LINUX.ORG.RU

История изменений

Исправление intelfx, (текущая версия) :

Таки аутентификацию делает все-таки полкит, или же агент, которого полкит всего лишь пинает?

Второе.

Клиент запрашивает у сервиса операцию, требующую подтверждения полномочий. Сервис обращается к демону полкита. Полкит проверяет, если для uid клиента нет необходимых полномочий, то он запрашивает агента для проверки административных (root) полномочий у пользователя. Агент выплевывает окошко с просьбой ввести пароль для админа. Затем проверяет пароль. Если пароль верный, то отдает положительный ответ полкиту. Если полкит получил положительный ответ от агента, то он отдает подтверждение сервису. Если сервис получает от полкита подтверждение полномочий, то он выполняет операцию. Верно?

для проверки административных (root) полномочий у пользователя

В зависимости от конкретного запроса и того, что написано в политике — или административных, или своих собственных (типа «введите свой собственный пароль, чтобы доказать, что вы не верблюд»). Если юзер «является администратором» (в группе wheel или иной, зависит от настроек полкита) — то в обоих случаях спрашивается пароль самого пользователя.

Формально, полкит сам это всё решает и в dbus-запросе говорит агенту, чей пароль нужно спрашивать.

Если это все так, то получается, чтобы мой клиент смог запустить привилегированную операцию, необходимо, чтобы был запущен еще агент. Тогда все операции для моего клиента пройдут прозрачно.

Да. Как вариант, можно написать правило авторизации, которое будет разрешать нужный запрос нужному пользователю без необходимости интерактивных проверок.

Исправление intelfx, :

Таки аутентификацию делает все-таки полкит, или же агент, которого полкит всего лишь пинает?

Второе.

Клиент запрашивает у сервиса операцию, требующую подтверждения полномочий. Сервис обращается к демону полкита. Полкит проверяет, если для uid клиента нет необходимых полномочий, то он запрашивает агента для проверки административных (root) полномочий у пользователя. Агент выплевывает окошко с просьбой ввести пароль для админа. Затем проверяет пароль. Если пароль верный, то отдает положительный ответ полкиту. Если полкит получил положительный ответ от агента, то он отдает подтверждение сервису. Если сервис получает от полкита подтверждение полномочий, то он выполняет операцию. Верно?

для проверки административных (root) полномочий у пользователя

В зависимости от конкретного запроса и того, что написано в политике — или административных, или своих собственных (типа «введите свой собственный пароль, чтобы доказать, что вы не верблюд»). Если юзер «является администратором» (в группе wheel или иной, зависит от настроек полкита) — то в обоих случаях спрашивается пароль самого пользователя.

Формально, полкит сам это всё решает и в dbus-запросе говорит агенту, чей пароль нужно спрашивать.

Если это все так, то получается, чтобы мой клиент смог запустить привилегированную операцию, необходимо, чтобы был запущен еще агент. Тогда все операции для моего клиента пройдут прозрачно.

Да. Как вариант, можно написать неинтерактивное правило авторизации, которое будет разрешать нужный запрос нужному пользователю.

Исправление intelfx, :

Таки аутентификацию делает все-таки полкит, или же агент, которого полкит всего лишь пинает?

Второе.

Клиент запрашивает у сервиса операцию, требующую подтверждения полномочий. Сервис обращается к демону полкита. Полкит проверяет, если для uid клиента нет необходимых полномочий, то он запрашивает агента для проверки административных (root) полномочий у пользователя. Агент выплевывает окошко с просьбой ввести пароль для админа. Затем проверяет пароль. Если пароль верный, то отдает положительный ответ полкиту. Если полкит получил положительный ответ от агента, то он отдает подтверждение сервису. Если сервис получает от полкита подтверждение полномочий, то он выполняет операцию. Верно?

для проверки административных (root) полномочий у пользователя

В зависимости от конкретного запроса и того, что написано в политике — или административных, или своих собственных (типа «введите свой собственный пароль, чтобы доказать, что вы не верблюд»).

Если юзер «является администратором»(в группе wheel или иной, зависит от настроек полкита) — то в обоих случаях спрашивается пароль самого пользователя.

Формально, в dbus-запросе полкит сам говорит агенту, чей пароль нужно спрашивать.

Если это все так, то получается, чтобы мой клиент смог запустить привилегированную операцию, необходимо, чтобы был запущен еще агент. Тогда все операции для моего клиента пройдут прозрачно.

Да. Как вариант, можно написать неинтерактивное правило авторизации, которое будет разрешать нужный запрос нужному пользователю.

Исходная версия intelfx, :

Таки аутентификацию делает все-таки полкит, или же агент, которого полкит всего лишь пинает?

Второе.

Клиент запрашивает у сервиса операцию, требующую подтверждения полномочий. Сервис обращается к демону полкита. Полкит проверяет, если для uid клиента нет необходимых полномочий, то он запрашивает агента для проверки административных (root) полномочий у пользователя. Агент выплевывает окошко с просьбой ввести пароль для админа. Затем проверяет пароль. Если пароль верный, то отдает положительный ответ полкиту. Если полкит получил положительный ответ от агента, то он отдает подтверждение сервису. Если сервис получает от полкита подтверждение полномочий, то он выполняет операцию. Верно?

для проверки административных (root) полномочий у пользователя

Или административных, или своих собственных (типа «введите свой собственный пароль, чтобы доказать, что вы не верблюд»). Если юзер в группе wheel (или иной, зависит от настроек полкита) — то в обоих случаях спрашивается пароль самого пользователя.

Формально, в dbus-запросе полкит сам говорит агенту, чей пароль нужно спрашивать.

Если это все так, то получается, чтобы мой клиент смог запустить привилегированную операцию, необходимо, чтобы был запущен еще агент. Тогда все операции для моего клиента пройдут прозрачно.

Да. Как вариант, можно написать неинтерактивное правило авторизации, которое будет разрешать нужный запрос нужному пользователю.