Групповые политики/Переменные среды

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

Описание

Эта групповая политика позволяет централизованно для компьютеров или пользователей:

  • создавать постоянные пользовательские или системные переменные среды;
  • удалять переменные среды;
  • изменять переменные среды, например:
    • изменить приглашение командной строки (системная переменная PROMPT для Windows или PS1 для Linux (BASH));
    • изменить расположение папки временных файлов (системная переменная TEMP для Windows или TMPDIR для Linux);
    • заменить значение всей переменной PATH;
    • добавить сегменты в переменную PATH (разделенные точкой с запятой для Windows или двоеточием для Linux);
    • удалить сегменты из переменной PATH.

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

На машине ALT

Примечание: Управление файлами в GPUI возможно, начиная  с версии 0.2.17-alt5 .


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

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

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

  • из модуля удаленного управления базой данных конфигурации (ADMC), выбрав в контекстном меню объекта групповой политики пункт «Изменить…»:
    Запуск GPUI из ADMC
  • или с указанием каталога групповой политики:
    $ gpui-main -p "smb://dc1.test.alt/SysVol/test.alt/Policies/{75411A5F-5A46-4616-BB1A-4DE7C3EEDBD1}"
    
    где dc1.test.alt — имя контроллера домена, а {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXX} — GUID шаблона групповой политики для редактирования.

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

Шаг 4. Перейти в «Компьютер»/«Пользователь» -> «Настройки» -> «Настройки системы» -> «Окружение». В контекстном меню свободной области выбрать пункт «Новый» -> «Переменные окружения»:

GPUI. Создание новой политики «Переменные окружения»

Шаг 5. В диалоговом окне «Диалог настроек» задать настройки политики:

GPUI. Диалоговое окно настройки политики «Переменные окружения» ­— вкладка «Основные настройки»

Доступные опции на вкладке «Основные настройки» («General»):

  • «Действие» — действие, которое будет выполняться для переменной среды:
    • «Создать» — создание новой переменной среды (если переменная среды с таким именем уже есть, например, создана локально, то ее значение изменено не будет);
    • «Удалить» — удаление переменной среды;
    • «Заменить» — удаление и повторное создание переменную среды (если переменная среды с таким именем не существует, то это действие создает новую переменную среды);
    • «Обновить» — изменение параметров существующей переменной среды. Если переменная среды с таким именем не существует, то это действие создает новую переменную среды (фактически это действие полностью аналогично действию «Заменить»). Применение этого действия к сегменту переменной PATH не имеет практического эффекта; в этом сегменте возможно только изменение регистра текста.
  • «Пользовательская переменная»:
    • параметр для переменной среды в разделе «Конфигурация пользователя» — влияние переменной среды будет для каждого пользователя независимым. Переменная среды хранится в разделе реестра HKEY_CURRENT_USER;
    • параметр для переменной среды в разделе «Конфигурация компьютера» — переменная среды будет влиять только на пользователя компьютера по умолчанию.
  • «Системная переменная» — переменная среды будет влиять на всех пользователей компьютера. Переменная среды будет храниться в реестре в разделе HKEY_LOCAL_MACHINE.
  • «Имя» — имя переменной среды, к которой применяется действие. Чтобы выбрать переменную PATH, следует оставить это поле пустым;
  • «Значение» — значение переменной среды. В это поле можно вводить переменные.
  • «PATH» — действие будет применяться к переменной PATH: можно создать/заменить значение переменной PATH или добавить/удалить сегмент значения переменной PATH. В поле «Имя» будет «PATH» и оно не будет доступно для редактирования. Эта опция доступна только в том случае, если выбран параметр «Системная переменная».
  • «Частичный» — добавить или удалить один сегмент переменной PATH. Эта опция доступна только в том случае, если выбраны «Системная переменная» и «PATH».

GPUI. Диалоговое окно настройки предпочтения ­— вкладка «Общие»

Доступные опции на вкладке «Общие» («Common»):

  • «Остановить обработку элементов в этом расширении при возникновении ошибки» — при сбое элемента предпочтений обработка других элементов предпочтений в этом расширении останавливается;
  • «Выполнять в контексте безопасности текущего пользователя (опция пользовательских политик)»;
  • «Удалить элемент, если больше не применим»;
  • «Описание».

На машине Windows

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

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

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

Шаг 4. Перейти в «Конфигурация компьютера»/«Конфигурация пользователя» -> «Настройка» -> «Конфигурация Windows» -> «Среда». В контекстном меню свободной области (или в контекстном меню пункта «Среда») выбрать «Создать» -> «Переменные среды»:

RSAT. Контекстное меню пункта «Среда»

Шаг 5. В диалоговом окне «Новые свойства среды» задать настройки политики:

Диалоговое окно «Новые свойства среды»

Доступные опции на вкладке «Общие» («General»):

  • «Действие» — действие, которое будет выполняться для переменных среды:
    • «Создать» — создание новой переменной среды (если переменная среды с таким именем уже есть, например, создана локально, то ее значение изменено не будет);
    • «Удалить» — удаление переменной среды;
    • «Заменить» — удаление и повторное создание переменную среды (если переменная среды с таким именем не существует, то это действие создает новую переменную среды);
    • «Обновить» — изменение параметров существующей переменной среды. Если переменная среды с таким именем не существует, то это действие создает новую переменную среды (фактически это действие полностью аналогично действию «Заменить»). Применение этого действия к сегменту переменной PATH не имеет практического эффекта; в этом сегменте возможно только изменение регистра текста.
  • «Пользовательская переменная»:
    • параметр для переменной среды в разделе «Конфигурация пользователя» — влияние переменной среды будет для каждого пользователя независимым. Переменная среды хранится в разделе реестра HKEY_CURRENT_USER;
    • параметр для переменной среды в разделе «Конфигурация компьютера» — переменная среды будет влиять только на пользователя компьютера по умолчанию.
  • «Системная переменная» — переменная среды будет влиять на всех пользователей компьютера. Переменная среды будет храниться в реестре в разделе HKEY_LOCAL_MACHINE.
  • «Имя» — имя переменной среды, к которой применяется действие. Чтобы выбрать переменную PATH, следует оставить это поле пустым;
  • «Значение» — значение переменной среды. Это поле принимает переменные;
  • «PATH» — действие будет применяться к переменной PATH (в поле «Имя» будет «PATH» и оно не будет доступно для редактирования). Эта опция доступна только в том случае, если выбрана «Системная переменная»
  • «Частичная» — добавить или удалить сегмент значения переменной PATH. Эта опция доступна только в том случае, если выбраны «Системная переменная» и «PATH».

Доступные опции на вкладке «Общие параметры» («Common»):

  • «Остановить обработку элементов в этом расширении при возникновении ошибки»;
  • «Выполнять в контексте безопасности вошедшего пользователя»;
  • «Удалить этот элемент, когда он более не применяется»;
  • «Применить один раз и не применять повторно»;
  • «Нацеливание на уровень элемента».

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

Все настройки политики управления переменными среды хранятся в файлах:

  • {GUID GPT}/Machine/Preferences/EnvironmentVariables/EnvironmentVariables.xml
  • {GUID GPT}/User/Preferences/EnvironmentVariables/EnvironmentVariables.xml

Пример EnvironmentVariables.xml:

<?xml version="1.0" encoding="utf-8"?>
<EnvironmentVariables clsid="{BF141A63-327B-438a-B9BF-2C188F13B7AD}">
  <EnvironmentVariable clsid="{78570023-8373-4a19-BA80-2F150738EA19}"
                       name="VAR"
                       status="VAR = value_1"
                       image="0"
                       changed="2020-06-05 12:16:20"
                       uid="{6738058D-5455-4D9A-9B84-78E87DDD18D7}"
                       desc="environment variable example"
                       bypassErrors="1">
    <Properties action="C"
                name="VAR"
                value="value_1"
                user="1"
                partial="0"/>
  </EnvironmentVariable>
  <EnvironmentVariable clsid="{78570023-8373-4a19-BA80-2F150738EA19}"
                       name="PATH"
                       status="PATH = value_2"
                       image="2"
                       changed="2020-06-05 12:16:48"
                       uid="{15E854D6-C338-4AD2-BF8D-72292B364BA3}">
    <Properties action="U"
                name="PATH"
                value="value_2"
                user="0"
                partial="1"/>
  </EnvironmentVariable>
</EnvironmentVariables>

Спецификация EnvironmentVariables.xml https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-gppref/6ddc3720-7cd7-466e-8b6f-3e3442125c74

Особенности применения политики на машинах с ОС ALT

Для того чтобы политики применились (под доменным пользователем) необходимо перелогиниться.

Проверить наличие переменных окружения можно, выполнив команду:

$ env |grep имя_переменной

Просмотреть все переменные, назначенные с помощью групповой политики, можно в файле /etc/gpupdate/environment:

TEMP DEFAULT="C:\tmp"
Var DEFAULT="Value1"
HTTPS_PROXY DEFAULT="https://10.0.66.52:3128"

Ссылки

  • Подробная документация по настройке политики

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-r2-and-2008/cc770493(v=ws.10)

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-r2-and-2008/cc772047(v%3dws.10)

http://www.oszone.net/15031/

  • Описание атрибутов XML-файлов из GPT и XML Schema

https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-gppref/6ddc3720-7cd7-466e-8b6f-3e3442125c74