Групповые политики/Polkit
Описание
Через групповые политики реализовано управление настройками службы 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:
- из модуля удаленного управления базой данных конфигурации (ADMC), выбрав в контекстном меню объекта групповой политики пункт «Изменить…»:
- или с указанием каталога групповой политики:
$ gpui-main -p "smb://dc1.test.alt/SysVol/test.alt/Policies/{C5CBB0CF-07E7-41E4-A5AC-FCA0B0C82672}"
где dc1.test.alt — имя контроллера домена, а "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXX}" — GUID шаблона групповой политики для редактирования.
Откроется окно редактирования групповых политик.
Шаг 4. Перейти в «Компьютер»/«Пользователь» -> «Административные шаблоны» -> «Система ALT» -> «Правила Polkit». Здесь есть несколько разделов:
Шаг 5. При выборе раздела, в правом окне редактора отобразится список политик:
Шаг 6. При выборе политики, откроется диалоговое окно настройки соответствующей политики:
Можно не задавать настройку политики, включить или отключить. Если политика находится в состоянии «Отключено»/«Не сконфигурировано» ограничения определяются системными параметрами.
Если выбрать параметр «Включено», в разделе «Опции» в выпадающем списке можно будет выбрать вариант ограничения:
Если выбран параметр «Включено», для каждой из этих политик доступны следующие разрешения:
- «No» — установить ограничение с запретом действия (пользователю не разрешено выполнять действие);
- «Yes» — снять ограничение (пользователь может выполнять действие без какой-либо аутентификации);
- «Auth_self» — пользователь должен ввести свой пароль для аутентификации. Обратите внимание, этого уровня ограничения недостаточно для большинства применений в многопользовательских системах, обычно рекомендуется ограничение «Auth_admin»;
- «Auth_admin» — пользователь должен ввести пароль администратора при каждом запросе. Требуется аутентификация пользователя с правами администратора;
- «Auth_self_keep» — подобно «Auth_self», но авторизация сохраняется в течение короткого периода времени (например, пять минут). Обратите внимание, этого уровня ограничения недостаточно для большинства применений в многопользовательских системах, обычно рекомендуется ограничение «Auth_admin_keep»;
- «Auth_admin_keep» — аналогично «Auth_admin», но авторизация сохраняется в течение короткого периода времени (например, пять минут).
polkit.addAdminRule(function(action, subject) {
return ["unix-group:wheel"];
});
На машине Windows
Шаг 1. На машине с установленным RSAT открыть консоль «Управление групповыми политиками» (gpmc.msc).
Шаг 2. Создать новый объект групповой политики (GPO) и связать его с OU.
Шаг 3. В контекстном меню GPO выбрать пункт «Изменить». Откроется редактор GPO.
Шаг 4. Перейти в «Конфигурация компьютера»/«Конфигурация пользователя» -> «Политики» -> «Административные шаблоны» -> «Система ALT» -> «Правила Polkit». Здесь есть четыре раздела («Разрешения для работы с токенами и смарткартами», «Разрешения NetworkManager», «Разрешения PackageKit» и «Разрешения Udisks2»):
Шаг 5. При выборе раздела, в правом окне редактора отобразится список политик и их состояние:
Шаг 6. Дважды щелкнуть левой кнопкой мыши на политике, откроется диалоговое окно настройки политики:
Можно не задавать настройку политики, включить или отключить. Можно не задавать настройку политики, включить или отключить. Если политика находится в состоянии «Отключить»/«Не задано» разрешения определяются системными параметрами (по умолчанию — «Auth_admin»).
Если выбрать параметр «Включить», в разделе «Параметры» в выпадающем списке можно выбрать вариант ограничения для данного разрешения:
Правила 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 будет запрошен пароль текущего пользователя: Если эта политика находится в состоянии «Включено» и настроено разрешение «Auth_admin», при попытке включения/отключения сети Wi-Fi будет запрошен пароль администратора: Если эта политика находится в состоянии «Включено» и настроено разрешение «No», пользователю запрещено включать/отключать сеть 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 системы будет запрошен пароль текущего пользователя: |
Разрешение изменения сетевых подключений для всех пользователей | Политика управляет разрешением изменения системных сетевых настроек для всех пользователей. | 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 будет запрошен пароль текущего пользователя: Если эта политика находится в состоянии «Включено» и настроено разрешение «Auth_admin», при попытке перезагрузки конфигурации NetworkManager будет запрошен пароль администратора: |
Разрешение проверки подключения сети | Политика управляет разрешением на включение или отключение проверки подключения к сети. | enable-disable-connectivity-check | |
Разрешение сканирования Wi-Fi сетей | Данная политика разрешением сканирования Wi-Fi сетей. | wifi.scan |
Если эта политика находится в состоянии «Включено» и настроено разрешение «Auth_admin», при сканировании 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]