Групповые политики/Polkit

Материал из ALT Linux Wiki

Описание

Через групповые политики реализовано управление настройками службы Polkit (PolicyKit).

В настоящий момент реализованы следующие настройки:

  • «Ограничения Udisks2» — формирование правил PolKit для монтирования файловых систем (демон udisk2);
  • «Ограничения PackageKit» — формирование правил PolKit для установки, удаления, обновления пакетов;
  • «Ограничения NetworkManager» — формирование правил PolKit для операций с сетевыми подключениями и настройкой сетевых интерфейсов;
  • «Ограничения ModemManager» — формирование правил PolKit для операций с ModemManager (взаимодействие с модемом или мобильным телефоном);
  • «Ограничения для работы с токенами и смарт-картами» — формирование правил PolKit для работы с токенами и смарт-картами.

Правила для пользовательской политики обрабатываются до правил для машинной политики. Для машинной политики создается файл правил 49-alt_group_policy_permissions.rules, для пользовательской политики — 48-lt_group_policy_permissions_user.<USERNAME>.rules. У машинных политик имеются блокировки (отметка «Блокировать»), при установке которых машинные политики становятся приоритетнее пользовательских (создается файл правил 47-alt_group_policy_permissions.rules).

Настройка политики

На рабочей станции

Шаг 1. На машине с установленными ADMC и GPUI получить ключ Kerberos для администратора домена.

Шаг 2. В ADMC создать новый объект групповой политики (GPO) и связать его с OU, куда входят машины, для которых создаётся политика.

Шаг 3. Запустить GPUI:

$ gpui-main -p "smb://dc.test.alt/SysVol/test.alt/Policies/{C5CBB0CF-07E7-41E4-A5AC-FCA0B0C82672}"

где dc.test.alt — имя контроллера домена, а "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXX}" — GUID шаблона групповой политики для редактирования.

Откроется окно редактирования групповых политик.

Шаг 4. Перейти в «Компьютер»/«Пользователь» -> «Административные шаблоны» -> «Система ALT» -> «Правила Polkit». Здесь есть четыре раздела («Разрешения для работы с токенами и смарткартами», «Разрешения NetworkManager», «Разрешения PackageKit» и «Разрешения Udisks2»):

GPUI. Политики настройки службы Polkit

Шаг 5. При выборе раздела, в правом окне редактора отобразится список политик:

GPUI. Список политик PackageKit

Шаг 6. При выборе политики, откроется диалоговое окно настройки соответствующей политики:

GPUI. Диалоговое окно настройки ограничения Polkit

Можно не задавать настройку политики, включить или отключить. Если политика находится в состоянии «Отключено»/«Не сконфигурировано» разрешения определяются системными параметрами (по умолчанию — «Auth_admin»).

Если выбрать параметр «Включено», в разделе «Опции» в выпадающем списке можно выбрать вариант ограничения для данного разрешения:

GPUI. Диалоговое окно настройки ограничения Polkit


Если выбран параметр «Включено», для каждой из этих политик доступны следующие разрешения:

  • «No» — заблокировать разрешения (пользователю не разрешено выполнять действие);
  • «Yes» — предоставить разрешения (пользователь может выполнять действие без какой-либо аутентификации);
  • «Auth_self» — пользователь должен ввести свой пароль для аутентификации. Обратите внимание, этого разрешения недостаточно для большинства применений в многопользовательских системах, обычно рекомендуется разрешение «Auth_admin»;
  • «Auth_admin» — пользователь должен ввести пароль администратора при каждом запросе. Требуется аутентификация пользователя с правами администратора;
  • «Auth_self_keep» — подобно «Auth_self», но авторизация сохраняется в течение короткого периода времени (например, пять минут). Обратите внимание, этого разрешения недостаточно для большинства применений в многопользовательских системах, обычно рекомендуется разрешение «Auth_admin_keep»;
  • «Auth_admin_keep» — аналогично «Auth_admin», но авторизация сохраняется в течение короткого периода времени (например, пять минут).
Примечание: Администратор — в Альт определён в правиле /etc/polkit-1/rules.d/50-default.rules:
polkit.addAdminRule(function(action, subject) {
        return ["unix-group:wheel"];
});
По умолчанию запрашивается пароль пользователя, находящегося в группе wheel.


На машине Windows

Шаг 1. На машине с установленным RSAT открыть консоль «Управление групповыми политиками» (gpmc.msc).

Шаг 2. Создать новый объект групповой политики (GPO) и связать его с OU.

Шаг 3. В контекстном меню GPO выбрать пункт «Изменить». Откроется редактор GPO.

Шаг 4. Перейти в «Конфигурация компьютера»/«Конфигурация пользователя» -> «Политики» -> «Административные шаблоны» -> «Система ALT» -> «Правила Polkit». Здесь есть четыре раздела («Разрешения для работы с токенами и смарткартами», «Разрешения NetworkManager», «Разрешения PackageKit» и «Разрешения Udisks2»):

RSAT. Правила Polkit

Шаг 5. При выборе раздела, в правом окне редактора отобразится список политик и их состояние:

RSAT. Список политик PackageKit

Шаг 6. Дважды щелкнуть левой кнопкой мыши на политике, откроется диалоговое окно настройки политики:

RSAT. Диалоговое окно настройки ограничения Polkit

Можно не задавать настройку политики, включить или отключить. Можно не задавать настройку политики, включить или отключить. Если политика находится в состоянии «Отключить»/«Не задано» разрешения определяются системными параметрами (по умолчанию — «Auth_admin»).

Если выбрать параметр «Включить», в разделе «Параметры» в выпадающем списке можно выбрать вариант ограничения для данного разрешения:

RSAT. Выбор ограничения Polkit

Правила Polkit

Разрешения для работы с токенами и смарт-картами

Политика Описание Правило Polkitd для демона pcsc-lite
Разрешение на доступ к демону PC/SC Данная политика управляет разрешением доступа к демону PC/SC и регулирует работу с токенами. org.debian.pcsc-lite.access_pcsc
Разрешение на доступ к смарт-картам Данная политика управляет разрешением доступа к смарт-картам. org.debian.pcsc-lite.access_card

Разрешения NetworkManager

Политика Описание Правило Polkitd для демона NetworkManager (org.freedesktop.NetworkManager) Примеры
Разрешение включения или отключения сети Политика управляет разрешением для включения или отключения сетевого взаимодействия системы. Если сетевое взаимодействие отключено, все управляемые интерфейсы отсоединяются и деактивируются. Если сетевое взаимодействие включено, все управляемые интерфейсы доступны для активации. enable-disable-network

Если эта политика находится в состоянии «Включено» и настроено разрешение «Auth_self», при попытке включения/отключения сети будет запрошен пароль текущего пользователя:

Запрос пароля текущего пользователя при включении/отключении сети

Запрос пароля пользователя при включении/отключении сети в консоли:

Запрос пароля пользователя при включении/отключении сети в консоли

Если эта политика находится в состоянии «Включено» и настроено разрешение «Auth_admin», при попытке включения/отключения сети будет запрошен пароль администратора:

Запрос пароля администратора при включении/отключении сети

Если эта политика находится в состоянии «Включено» и настроено разрешение «No», пользователю запрещено включать/отключать сеть:

Пользователю запрещено включать/отключать сеть

Разрешение включения или отключения статистики Политика управляет разрешением на включение или отключение счетчика статистики устройства. enable-disable-statistics
Разрешение включения или отключения устройств Wi-Fi Данная политика предоставляет или ограничивает пользователям права для включения или отключения устройств Wi-Fi. enable-disable-wifi

Если эта политика находится в состоянии «Включено» и настроено разрешение «Auth_self», при попытке включения/отключения сети Wi-Fi будет запрошен пароль текущего пользователя:

Запрос пароля текущего пользователя при включении/отключении сети Wi-Fi

Если эта политика находится в состоянии «Включено» и настроено разрешение «Auth_admin», при попытке включения/отключения сети Wi-Fi будет запрошен пароль администратора:

Запрос пароля администратора при включении/отключении сети Wi-Fi

Если эта политика находится в состоянии «Включено» и настроено разрешение «No», пользователю запрещено включать/отключать сеть Wi-Fi:

Пользователю запрещено включать/отключать сеть Wi-Fi

Разрешение включения или отключения устройств WiMAX Данная политика предоставляет или ограничивает пользователям права для включения или отключения мобильных широкополосных устройств WiMAX. enable-disable-wimax
Разрешение включения или отключения WWAN-устройств Данная политика предоставляет или ограничивает пользователям права для включения или отключения мобильных широкополосных устройств. enable-disable-wwan
Разрешение изменения общих настроек DNS Политика управляет разрешением изменений общей конфигурации DNS. settings.modify.global-dns
Разрешение изменения персональных сетевых настроек Данная политика управляет разрешением изменений личных сетевых соединений. settings.modify.own

Если эта политика находится в состоянии «Включено» и настроено разрешение «Auth_self», при попытке изменения персональных сетевых настроек (например, при подключении к сети Wi-Fi) будет запрошен пароль текущего пользователя:

Запрос пароля текущего пользователя при изменении персональных сетевых настроек

Если эта политика находится в состоянии «Включено» и настроено разрешение «Auth_admin», при попытке изменения персональных сетевых настроек будет запрошен пароль администратора:

Запрос пароля администратора при изменении персональных сетевых настроек

Запрос пароля администратора при изменении персональных сетевых настроек в консоли:

Запрос пароля администратора при изменении персональных сетевых настроек в консоли

Разрешение изменения постоянного имени хоста Данная политика управляет разрешением изменения постоянного имени хоста (hostname) системы. settings.modify.hostname

Если эта политика находится в состоянии «Включено» и настроено разрешение «Auth_self», при попытке изменения hostname системы будет запрошен пароль текущего пользователя:

Запрос пароля текущего пользователя при попытке изменения hostname системы

Разрешение изменения сетевых подключений для всех пользователей Политика управляет разрешением изменения системных сетевых настроек для всех пользователей. settings.modify.system

Если эта политика находится в состоянии «Включено» и настроено разрешение «Auth_self», при попытке изменения сетевых настроек для всех пользователей (например, изменении IP-адреса) будет запрошен пароль текущего пользователя:

Запрос пароля текущего пользователя при изменении сетевых настроек для всех пользователей

Если эта политика находится в состоянии «Включено» и настроено разрешение «Auth_admin», при попытке изменения сетевых настроек для всех пользователей будет запрошен пароль администратора:

Запрос пароля администратора при изменении сетевых настроек для всех пользователей

Если эта политика находится в состоянии «Включено» и настроено разрешение «No», пользователю запрещено изменять сетевые настройки для всех пользователей:

Пользователю запрещено изменять сетевые настройки для всех пользователей

Разрешение изменения системных настроек для сети Политика управляет разрешением изменения системных сетевых настроек. network-control

Если эта политика находится в состоянии «Включено» и настроено разрешение «Auth_self», при попытке включения/отключения сетевого интерфейса будет запрошен пароль текущего пользователя:

Запрос пароля текущего пользователя при включении/отключении сетевого интерфейса

Запрос пароля пользователя при включении/отключении сетевого интерфейса в консоли:

Запрос пароля текущего пользователя при включении/отключении сетевого интерфейса

Если эта политика находится в состоянии «Включено» и настроено разрешение «Auth_admin», при попытке изменения сетевых настроек для всех пользователей будет запрошен пароль администратора:

Запрос пароля администратора при включении/отключении сетевого интерфейса

Если эта политика находится в состоянии «Включено» и настроено разрешение «No», пользователю запрещено изменять сетевые настройки для всех пользователей:

Пользователю запрещено включать/отключать сетевой интерфейс

Разрешение изменения состояния сна NetworkManager Данная политика управляет разрешением на перевод NetworkManager в спящий режим или пробуждение из спящего режима (должна использоваться только для управления питанием системы). sleep-wake
Разрешение отката конфигурации сетевых интерфейсов к контрольной точке Политика управляет разрешением для создания контрольной точки сетевых интерфейсов или откату к ней. checkpoint-rollback

Если эта политика находится в состоянии «Включено» и настроено разрешение «Auth_self», при попытке создания контрольной точки будет запрошен пароль текущего пользователя:

Запрос пароля текущего пользователя при попытке создания контрольной точки

Если эта политика находится в состоянии «Включено» и настроено разрешение «Auth_admin», при попытке создания контрольной точки будет запрошен пароль администратора:

Запрос пароля администратора при попытке создания контрольной точки

Разрешение перезагрузки NetworkManager Политика управляет разрешением перезагрузки конфигурации NetworkManager. reload

Если эта политика находится в состоянии «Включено» и настроено разрешение «Auth_user», при попытке перезагрузки конфигурации NetworkManager будет запрошен пароль текущего пользователя:

Запрос пароля текущего пользователя при попытке перезагрузки конфигурации NetworkManager

Если эта политика находится в состоянии «Включено» и настроено разрешение «Auth_admin», при попытке перезагрузки конфигурации NetworkManager будет запрошен пароль администратора:

Запрос пароля администратора при попытке перезагрузки конфигурации NetworkManager

Разрешение проверки подключения сети Политика управляет разрешением на включение или отключение проверки подключения к сети. enable-disable-connectivity-check
Разрешение сканирования Wi-Fi сетей Данная политика разрешением сканирования Wi-Fi сетей. wifi.scan

Если эта политика находится в состоянии «Включено» и настроено разрешение «Auth_admin», при сканировании Wi-Fi сетей будет запрошен пароль администратора:

Запрос пароля администратора при сканировании Wi-Fi сетей

Примечание: Необходимо настраивать эту политику с осторожностью, т.к. апплет NetworkManager автоматически сканирует сети Wi-Fi и пароль будет запрашиваться постоянно.
Разрешение совместных подключений через защищённую сеть Wi-Fi Политика управляет разрешением совместного подключения через защищенную сеть Wi-Fi. wifi.share.protected

Если эта политика находится в состоянии «Включено» и настроено разрешение «Auth_user», при создании защищенной точки доступа будет запрошен пароль текущего пользователя:

Запрос пароля текущего пользователя при создании защищенной точки доступа

Создание точки доступа в консоли:

Запрос пароля текущего пользователя при создании защищенной точки доступа

Разрешение совместных подключений через открытую сеть Wi-Fi Политика управляет разрешением совместного подключения через открытую сеть Wi-Fi. wifi.share.open

Если эта политика находится в состоянии «Включено» и настроено разрешение «Auth_admin», при создании открытой точки доступа будет запрошен пароль администратора:

Запрос пароля администратора при создании открытой точки доступа

Создание точки доступа в консоли:

Запрос пароля администратора при создании открытой точки доступа

Разрешения NetworkManager для текущего пользователя можно просмотреть, выполнив команду:

$ nmcli general permissions
PERMISSION                                                        VALUE 
org.freedesktop.NetworkManager.checkpoint-rollback                auth  
org.freedesktop.NetworkManager.enable-disable-connectivity-check  нет   
org.freedesktop.NetworkManager.enable-disable-network             auth  
org.freedesktop.NetworkManager.enable-disable-statistics          auth  
org.freedesktop.NetworkManager.enable-disable-wifi                да    
org.freedesktop.NetworkManager.enable-disable-wimax               да    
org.freedesktop.NetworkManager.enable-disable-wwan                да    
org.freedesktop.NetworkManager.network-control                    да    
org.freedesktop.NetworkManager.reload                             auth  
org.freedesktop.NetworkManager.settings.modify.global-dns         нет   
org.freedesktop.NetworkManager.settings.modify.hostname           auth  
org.freedesktop.NetworkManager.settings.modify.own                auth  
org.freedesktop.NetworkManager.settings.modify.system             да    
org.freedesktop.NetworkManager.sleep-wake                         да    
org.freedesktop.NetworkManager.wifi.scan                          да    
org.freedesktop.NetworkManager.wifi.share.open                    да    
org.freedesktop.NetworkManager.wifi.share.protected               да

Разрешения PackageKit

Политика Описание Правило Polkitd для демона PackageKit
Разрешение на восстановление пакетов в системе Данная политика предоставляет или ограничивает пользователям права на восстановление системы пакетов, если в ней возникли проблемы, например, пропали зависимости, посредством интерфейса управления пакетами PackageKit. org.freedesktop.packagekit.repair-system
Разрешение на добавление ключа электронной подписи Данная политика предоставляет или ограничивает пользователям право на добавление ключа подписи в список доверенных ключей системы посредством интерфейса управления пакетами PackageKit. org.freedesktop.packagekit.system-trust-signing-key
Разрешение на обновление пакетов Данная политика предоставляет или ограничивает пользователям права на обновление пакетов, установленных в систему, посредством интерфейса управления пакетами PackageKit. org.freedesktop.packagekit.system-update
Разрешение на обновление системных источников пакетов Данная политика предоставляет или ограничивает пользователям права на обновление системных источников пакетов посредством интерфейса управления пакетами PackageKit. org.freedesktop.packagekit.system-sources-refresh
Разрешение на переустановку пакетов Данная политика предоставляет или ограничивает пользователям право на переустановку пакетов посредством интерфейса управления пакетами PackageKit. org.freedesktop.packagekit.package-reinstall
Разрешение на принятие лицензионного соглашения Данная политика предоставляет или ограничивает право на принятие пользовательского соглашения программ посредством интерфейса управления пакетами PackageKit. org.freedesktop.packagekit.package-eula-accept
Разрешение на редактирование источников пакетов Данная политика предоставляет или ограничивает пользователям права на редактирование источников пакетов в системе посредством интерфейса управления пакетами PackageKit. org.freedesktop.packagekit.system-sources-configure
Разрешение на удаление пакетов Данная политика предоставляет или ограничивает пользователям права на удаление пакетов посредством интерфейса управления пакетами PackageKit. org.freedesktop.packagekit.package-remove
Разрешение на установку пакетов Данная политика предоставляет или ограничивает пользователям права на установку пакетов посредством интерфейса управления пакетами PackageKit. org.freedesktop.packagekit.package-install
Разрешение на установку непроверенных пакетов Данная политика предоставляет или ограничивает пользователям права на установку ненадёжных или непроверенных пакетов посредством интерфейса управления пакетами PackageKit. org.freedesktop.packagekit.package-install-untrusted

Разрешения Udisks2

Политика Описание Правило Polkitd для демона udisk2
Общая политика монтирования Данная политика предоставляет или ограничивает разрешения на монтирование файловой системы, монтирование файловых систем системных устройств, монтирование файловых систем в удалённых сеансах.

org.freedesktop.udisks2.filesystem-mount org.freedesktop.udisks2.filesystem-mount-other-seat org.freedesktop.udisks2.filesystem-mount-system

Разрешение на монтирование файловой системы Данная политика управляет разрешением на монтирование файловой системы устройства. org.freedesktop.udisks2.filesystem-mount
Разрешение на монтирование файловых систем в удалённых сеансах Данная политика предоставляет или ограничивает разрешения на монтирование файловых систем с устройства, подключенного к удалённому рабочему месту (например, на другом компьютере или удаленной сессии). org.freedesktop.udisks2.filesystem-mount-other-seat
Разрешение на монтирование файловых систем системных устройств Политика предоставляет или ограничивает разрешения на монтирование файловых систем системных устройств.

(Системное устройство хранения информации — это неизвлекаемое устройство. Для таких устройств переменная HintSystem установлена в значение "True". Жёсткий диск с установленной ОС относится к системным устройствам.)

org.freedesktop.udisks2.filesystem-mount-system

Файлы настроек политики

Все настройки политики хранятся в:

  • {GUID GPT}/Machine/Registry.pol
  • {GUID GPT}/User/Registry.pol

Пример Registry.pol:

PReg[Software\BaseALT\Policies\PolkitLocks;org.freedesktop.udisks2.filesystem-mount;;;][Software\BaseALT\Policies\Polkit;org.freedesktop.udisks2.filesystem-mount;;;No][Software\BaseALT\Policies\Polkit;org.freedesktop.packagekit.system-update;;;Auth_self] 
[Software\BaseALT\Policies\PolkitLocks;org.freedesktop.NetworkManager.network-control;;;]
[Software\BaseALT\Policies\Polkit;org.freedesktop.NetworkManager.network-control;;Yes]