Interested Article - Polkit

PolicyKit заблокировал изменение параметров сети

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

Применение

Polkit используется в следующих дистрибутивах Linux :

Polkit позволяет непривилегированным пользователям выполнять некоторые действия, разрешённые администратором , (возможно, с запросом пароля пользователя или пароля администратора ), например:

  • монтирование ФС (например, образа ISO , устройства с интерфейсом USB );
  • изменение параметров сетевого подключения (например, выбор другой точки доступа Wi-Fi ).

Механизм

Сценарий использования Polkit .

  • Администратор создаёт файл в формате XML — список параметров (политики) для Polkit.
  • В системе от имени привилегированного пользователя запускаются фоновые процессы :
    • « D-Bus »;
    • какой-либо « daemon », выполняющий обслуживание запросов приложений пользователя.
  • Пользователь запускает какой-либо процесс и желает выполнить действия, требующие прав администратора .
  • Процесс пользователя через socket (типа AF_UNIX) связывается с процессом « D-Bus » и передаёт «просьбу» для «daemon» о выполнении какого-либо действия. «Просьба» состоит из трёх частей:
    • subject — информация о авторе «просьбы» ( UID , контекст SELinux и др.);
    • object — то, над чем будет выполняться действие (например, путь к блочному устройству , имя сетевого подключения);
    • action — действие (например, «монтирование», «подключение»).
  • « D-Bus » передаёт «просьбу» процессу «daemon» («daemon» заранее связывается с « D-Bus » через socket (типа AF_UNIX)).
  • «daemon» использует API Polkit ( библиотека «libpolkit*» уже загружена в адресное пространство процесса «daemon»).
  • Библиотека «libpolkit*» читает файлы настроек (политики) и принимает решение о дальнейших действиях:
    • запретить действие;
    • разрешить действие:
      • без запроса пароля;
      • с запросом пароля пользователя;
      • с запросом пароля пользователя root .
  • Если действие разрешено, «daemon» выполняет его.
  • «daemon» через « D-Bus » отправляет ответ процессу пользователя.

В описанной схеме возможны изменения. Например, «daemon» при запуске может самостоятельно создавать для Polkit, а при завершении — удалять его.

См. также

Примечания

  1. (англ.) — 2007.
  2. . Дата обращения: 19 сентября 2013. 15 сентября 2014 года.
  3. Jake Edge « от 24 мая 2015 на Wayback Machine » // Электронный журнал « LWN.net ». 14 ноября 2007 года.

Ссылки

Источник —

Same as Polkit