Interested Article - Polkit
- 2020-01-14
- 1
Polkit (прежнее название: PolicyKit ) — библиотека для UNIX-подобных операционных систем . API библиотеки используется для предоставления непривилегированным процессам возможности выполнения действий, требующих прав администратора . Использование Polkit противопоставляется использованию таких систем, как sudo , но не наделяет процесс пользователя правами администратора , а позволяет точно контролировать, что разрешено, а что запрещено.
Применение
Polkit используется в следующих дистрибутивах Linux :
Polkit позволяет непривилегированным пользователям выполнять некоторые действия, разрешённые администратором , (возможно, с запросом пароля пользователя или пароля администратора ), например:
- монтирование ФС (например, образа ISO , устройства с интерфейсом USB );
- изменение параметров сетевого подключения (например, выбор другой точки доступа Wi-Fi ).
Механизм
Сценарий использования Polkit .
- Администратор создаёт файл в формате XML — список параметров (политики) для Polkit.
- В системе от имени привилегированного пользователя запускаются фоновые процессы :
- Пользователь запускает какой-либо процесс и желает выполнить действия, требующие прав администратора .
-
Процесс пользователя через
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, а при завершении — удалять его.
См. также
- Контроль учётных записей пользователей (UAC) в ОС Windows .
- (англ.) .
- AppArmor .
- SELinux .
Примечания
- (англ.) — 2007.
- . Дата обращения: 19 сентября 2013. 15 сентября 2014 года.
- Jake Edge « от 24 мая 2015 на Wayback Machine » // Электронный журнал « LWN.net ». 14 ноября 2007 года.
Ссылки
- 2020-01-14
- 1