Базовые операции по работе с объектами групповых политик

Подкоманда samba-tool gpo позволяет выполнять базовые операции с объектами групповых политик.

Получение списка всех GPO в домене

Для получения списка всех GPO, существующих в домене Эллес, используется следующий формат вызова:

samba-tool gpo listall [options]

Для каждого объекта GPO подкоманда выводит следующие атрибуты:

  • GPO — глобальный уникальный идентификатор (Globally Unique Identifier, GUID) объекта групповой политики; данный идентификатор используется при выполнении других операций с помощью команды samba-tool gpo;

  • display name — имя GPO для отображения в инструментах редактирования;

  • path — расположение GPO в SysVol;

  • dn — полное уникальное доменное имя объекта groupPolicyContainer;

  • version — текущий номер версии объекта groupPolicyContainer, соответствующего GPO; увеличивается при каждом изменении GPO, указывая на необходимость обновления соответствующего объекта групповой политики у участников домена;

  • flags — статус GPO:

    • 0 — объект GPO включен (все заданные в нем настройки применяются к целевым объектам);

    • 1 — отключен раздел GPO, относящийся к настройкам пользователей;

    • 2 — отключен раздел GPO, относящийся к настройкам компьютеров;

    • 3 — объект GPO отключен (заданные в нем настройки не применяются к целевым объектам).

Например:

 GPO          : {31B2F340-016D-11D2-945F-00C04FB984F9}
 display name : Default Domain Policy
 path         : \\elles.inno.tech\sysvol\elles.inno.tech\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}
 dn           : CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=elles,DC=inno,DC=tech
 version      : 2097290
 flags        : NONE

Параметры

Параметры вызова:

  • -H URL|--URL=URL — URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта.

Примеры

Пример получения списка существующих объектов GPO с указанием удаленного сервера:

samba-tool gpo listall
GPO          : {31B2F340-016D-11D2-945F-00C04FB984F9}
display name : Default Domain Policy
path         : \\elles.inno.tech\sysvol\elles.inno.tech\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}
dn           : CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=elles,DC=inno,DC=tech
version      : 4
flags        : NONE

GPO          : {4735F4B1-6371-496D-8FA5-B5D04571EFC0}
display name : Configuration Settings
path         : \\elles.inno.tech\sysvol\elles.inno.tech\Policies\{4735F4B1-6371-496D-8FA5-B5D04571EFC0}
dn           : CN={4735F4B1-6371-496D-8FA5-B5D04571EFC0},CN=Policies,CN=System,DC=elles,DC=inno,DC=tech
version      : 1
flags        : NONE

GPO          : {6AC1786C-016F-11D2-945F-00C04FB984F9}
display name : Default Domain Controllers Policy
path         : \\elles.inno.tech\sysvol\elles.inno.tech\Policies\{6AC1786C-016F-11D2-945F-00C04FB984F9}
dn           : CN={6AC1786C-016F-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=elles,DC=inno,DC=tech
version      : 0
flags        : NONE

GPO          : {6891D8EB-0497-4E24-9AE7-662D0A3F7D94}
display name : Security Settings
path         : \\elles.inno.tech\SysVol\elles.inno.tech\Policies\{6891D8EB-0497-4E24-9AE7-662D0A3F7D94}
dn           : CN={6891D8EB-0497-4E24-9AE7-662D0A3F7D94},CN=Policies,CN=System,DC=elles,DC=inno,DC=tech
version      : 40
flags        : NONE

Получение списка GPO, назначенных учетной записи

Для получения списка всех GPO, назначенных учетной записи пользователя или компьютера в домене Эллес, используется следующий формат вызова:

samba-tool gpo list <username|machinename> [options]

Переданное в команде значение username или machinename интерпретируется как sAMaccountName.

Для каждого объекта GPO, назначенного учетной записи, выводится отображаемое имя и GUID.

Параметры

Параметры вызова:

  • -H URL|--URL=URL — URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта.

Примеры

Пример получения списка объектов GPO, назначенным учетной записи User, с указанием удаленного сервера:

samba-tool gpo list Computer1$
GPOs for user Computer1
    Security Settings {6891D8EB-0497-4E24-9AE7-662D0A3F7D94}
    Configuration Settings {4735F4B1-6371-496D-8FA5-B5D04571EFC0}
    Default Domain Policy {31B2F340-016D-11D2-945F-00C04FB984F9}

Получение информации о GPO

Для получения атрибутов GPO в домене Эллес используется следующий формат вызова:

samba-tool gpo show <gpo> [options]

В качестве значения gpo ожидается GUID требуемого объекта групповой политики. Для получения GUID может использоваться подкоманда samba-tool gpo listall.

Для указанного объекта GPO подкоманда выводит тот же набор атрибутов, что и listall, а также (при использовании опции -U) перечень заданных для объекта ACL, ACE и политик.

Параметры

Параметры вызова:

  • -H URL|--URL=URL — URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта.

Примеры

Пример получения атрибутов объекта GPO с указанием удаленного сервера:

samba-tool gpo show {31B2F340-016D-11D2-945F-00C04FB984F9} \
   -H ldap://dc1.elles.inno.tech \
   -U Administrator
Password for [ELLES\Administrator]:
GPO          : {4735F4B1-6371-496D-8FA5-B5D04571EFC0}
display name : Configuration Settings
path         : \\elles.inno.tech\sysvol\elles.inno.tech\Policies\{4735F4B1-6371-496D-8FA5-B5D04571EFC0}
dn           : CN={4735F4B1-6371-496D-8FA5-B5D04571EFC0},CN=Policies,CN=System,DC=elles,DC=inno,DC=tech
version      : 1
flags        : NONE
ACL          : O:S-1-5-21-3324729455-2135688933-2286696549-512G:S-1-5-21-3324729455-2135688933-2286696549-512D:P(A;CI;CCDCLCSWRPWPDTLOSDRCWDWO;;;S-1-5-21-3324729455-2135688933-2286696549-512)(A;CI;CCDCLCSWRPWPDTLOSDRCWDWO;;;S-1-5-21-3324729455-2135688933-2286696549-519)(A;CIIO;CCDCLCSWRPWPDTLOSDRCWDWO;;;CO)(A;;CCDCLCSWRPWPDTLOSDRCWDWO;;;S-1-5-21-3324729455-2135688933-2286696549-512)(A;CI;CCDCLCSWRPWPDTLOSDRCWDWO;;;SY)(A;CI;LCRPLORC;;;AU)(OA;CI;CR;edacfd8f-ffb3-11d1-b41d-00a0c968f939;;AU)(A;CI;LCRPLORC;;;ED)S:AI(OU;CIIOIDSA;WP;f30e3bbe-9ff0-11d1-b603-0000f80367c1;bf967aa5-0de6-11d0-a285-00aa003049e2;WD)(OU;CIIOIDSA;WP;f30e3bbf-9ff0-11d1-b603-0000f80367c1;bf967aa5-0de6-11d0-a285-00aa003049e2;WD)
Policies     :
[
    {
        "keyname": "Software\\Policies\\Samba\\smb_conf",
        "valuename": "log file",
        "class": "MACHINE",
        "type": "REG_SZ",
        "data": "/app/log/inno-samba/inno-samba.log"
    }
]

Для получения списка GPO, связанных с контейнером (домен, сайт, подразделение) в домене Эллес, в порядке их приоритетности используется следующий формат вызова:

samba-tool gpo getlink <container_dn> [options]

В качестве значения container_dn ожидается уникальное имя (DN) контейнера в домене.

Для каждого объекта GPO команда выводит следующие атрибуты:

  • GPO — глобальный уникальный идентификатор (GUID) объекта GPO, связанного с контейнером;

  • Name — отображаемое имя GPO;

  • Options — статус связи контейнера с GPO (enabled|disabled|enforced), определяющий применимость настроек политики к нему (свойство linkOptions).

Параметры

Параметры вызова:

  • -H URL|--URL=URL — URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта.

Примеры

Пример получения списка GPO для подразделения:

samba-tool gpo getlink 'OU=OrgUnit,DC=elles,DC=inno,DC=tech'
GPO(s) linked to DN OU=OrgUnit,DC=elles,DC=inno,DC=tech
    GPO     : {4735F4B1-6371-496D-8FA5-B5D04571EFC0}
    Name    : Configuration Settings
    Options : NONE

Для добавления связи с GPO для контейнера (домен, сайт, подразделение) в домене Эллес используется следующий формат вызова:

samba-tool gpo setlink <container_dn> <gpo> [options]

В качестве значения container_dn ожидается уникальное имя (DN) контейнера в домене. В качестве значения gpo ожидается GUID требуемого объекта групповой политики. Для получения GUID может использоваться подкоманда samba-tool gpo listall.

По умолчанию связь создается со значением enabled свойства linkOptions, то есть настройки политики, заданные в GPO, применяются к контейнеру.

Для задания других значений для свойства или изменения текущего значения могут использоваться параметры --disable (GPLINK_OPT_DISABLE) и --enforce (GPLINK_OPT_ENFORCE).

В результате выполнения подкоманды к указанному контейнеру применяются настройки политики, заданные в объекте GPO, с учетом переданных опций.

Параметры

Параметры вызова:

  • -H URL|--URL=URL — URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта;

  • --disable — отключение связи контейнера с объектом GPO для исключения применения к нему настроек GPO;

  • --enforce — включение принудительного применения настроек GPO.

Примеры

Пример создания связи с GPO для контейнера:

samba-tool gpo setlink 'OU=OrgUnit,DC=elles,DC=inno,DC=tech' \
   {4735F4B1-6371-496D-8FA5-B5D04571EFC0}
Added/Updated GPO link
GPO(s) linked to DN OU=OrgUnit,DC=elles,DC=inno,DC=tech
    GPO     : {4735F4B1-6371-496D-8FA5-B5D04571EFC0}
    Name    : Configuration Settings
    Options : NONE

Для удаления связи с GPO для контейнера (домен, сайт, подразделение) в домене Эллес используется следующий формат вызова:

samba-tool gpo dellink <container_dn> <gpo> [options]

В качестве значения container_dn ожидается уникальное имя (DN) контейнера в домене. В качестве значения gpo ожидается GUID требуемого объекта групповой политики. Для получения GUID может использоваться подкоманда samba-tool gpo listall.

В результате выполнения подкоманды удаляется связь между указанными GPO и контейнером.

Параметры

Параметры вызова:

  • -H URL|--URL=URL — URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта.

Примеры

Пример удаления связи с GPO для контейнера:

samba-tool gpo dellink 'OU=OrgUnit,DC=elles,DC=inno,DC=tech' \
   {4735F4B1-6371-496D-8FA5-B5D04571EFC0}
Deleted GPO link.
No GPO(s) linked to DN=OU=OrgUnit,DC=elles,DC=inno,DC=tech

Получение списка контейнеров, для которых задана связь с GPO

Для получения списка контейнеров (домен, сайт, подразделение), которым назначен определенный объект GPO в домене Эллес, используется следующий формат вызова:

samba-tool gpo listcontainers <gpo> [options]

В качестве значения gpo ожидается GUID требуемого объекта групповой политики. Для получения GUID может использоваться подкоманда samba-tool gpo listall.

Подкоманда выводит список DN-имен контейнеров.

Параметры

Параметры вызова:

  • -H URL|--URL=URL — URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта.

Примеры

Пример получения списка контейнеров для GPO:

samba-tool gpo listcontainers {4735F4B1-6371-496D-8FA5-B5D04571EFC0}
Container(s) using GPO {4735F4B1-6371-496D-8FA5-B5D04571EFC0}
    DN: DC=elles,DC=inno,DC=tech
    DN: OU=OrgUnit,DC=elles,DC=inno,DC=tech

Получение признака наследования для контейнера

Для получения признака наследования GPO для контейнера (домен, сайт, подразделение) в домене Эллес используется следующий формат вызова:

samba-tool gpo getinheritance <container_dn> [options]

В качестве значения container_dn ожидается уникальное имя (DN) контейнера в домене.

Подкоманда выводит значение свойства gPOptions, управляющего блокировкой наследования GPO:

  • Container has GPO_INHERIT — наследование GPO включено;

  • Container has GPO_BLOCK_INHERITANCE — наследование заблокировано.

Параметры

Параметры вызова:

  • -H URL|--URL=URL — URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта.

Примеры

Пример получения признака блокировки наследования GPO для контейнера:

samba-tool gpo getinheritance 'OU=OrgUnit,DC=elles,DC=inno,DC=tech'
Container has GPO_INHERIT

Установка признака наследования для контейнера

Для изменения значения признака наследования GPO для контейнера (домен, сайт, подразделение) в домене Эллес используется следующий формат вызова:

samba-tool gpo setinheritance <container_dn> <block|inherit> [options]

В качестве значения container_dn ожидается уникальное имя (DN) контейнера в домене. В зависимости от текущего значения признака может использоваться следующие дополнительные команды:

  • block — GPO_INHERIT  → GPO_BLOCK_INHERITANCE;

  • inherit — GPO_BLOCK_INHERITANCE  → GPO_INHERIT.

Параметры

Параметры вызова:

  • -H URL|--URL=URL — URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта.

Примеры

Пример изменения признака блокировки наследования GPO для контейнера:

samba-tool gpo setinheritance 'OU=OrgUnit,DC=elles,DC=inno,DC=tech' \
   block

Загрузка файлов GPO

Для загрузки файлов GPO используется следующий формат вызова:

samba-tool gpo fetch <gpo> [options]

В качестве значения gpo ожидается GUID требуемого объекта групповой политики. Для получения GUID может использоваться подкоманда samba-tool gpo listall.

Подкоманда копирует файлы политики во временный каталог /tmp/ или в каталог, указанный в параметре --tmpdir.

Параметры

Параметры вызова:

  • -H URL|--URL=URL — URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта;

  • --tmpdir=TMPDIR — временный каталог для копирования файлов.

Примеры

Пример изменения признака блокировки наследования GPO для контейнера:

samba-tool gpo fetch {4735F4B1-6371-496D-8FA5-B5D04571EFC0} \
   -H ldap://dc1.elles.inno.tech \
   -U Administrator
Password for [ELLES\Administrator]:
Using temporary directory /tmp/tmpgfekx5d3 (use --tmpdir to change)
GPO copied to /tmp/tmpgfekx5d3/policy/{4735F4B1-6371-496D-8FA5-B5D04571EFC0}

Создание GPO

Для создания пустого нового объекта GPO в домене Эллес используется следующий формат вызова:

samba-tool gpo create <displayname> [options]

При вызове подкоманды необходимо задать отображаемое имя (displayname) создаваемой политики.

В случае успешного выполнения в каталоге /app/inno-samba/var/locks/sysvol/<domain-name>/Policies/<policy-GUID>/ создаются файлы и подкаталоги объекта GPO (GPT.INI, подкаталоги User и Machine).

В общем случае процесс задания новой политики состоит из следующих шагов:

  1. Создание нового объекта GPO с помощью подкоманды samba-tool gpo create.

  2. Создание файлов с настройками политики в подкаталоге GPO в SysVol.

  3. Назначение GPO контейнерам, к которым должны применяться настройки политики, с помощью подкоманды samba-tool gpo setlink.

  4. Применение политики на участниках домена с помощью команды samba-gpupdate.

Параметры

Параметры вызова:

  • -H URL|--URL=URL — URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта;

  • --tmpdir=TMPDIR — временный каталог для копирования файлов политики.

Примеры

Пример создания пустого объекта GPO:

samba-tool gpo create "Home Shares on Server Policy" -U Administrator
Password for [ELLES\Administrator]:
Using temporary directory /tmp/tmptxp68tj6 (use --tmpdir to change)
GPO copied to /tmp/tmpgfekx5d3/policy/{4F7399049DC1-47C5-8FC2-8853BCF4976C}

Удаление GPO

Для удаления объекта GPO в домене Эллес используется следующий формат вызова:

samba-tool gpo del <gpo> [options]

В качестве значения gpo ожидается GUID требуемого объекта групповой политики. Для получения GUID может использоваться подкоманда samba-tool gpo listall.

Удаление включает удаление связей GPO с контейнерами.

Данная операция необратима.

Параметры

Параметры вызова:

  • -H URL|--URL=URL — URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта.

Примеры

Пример удаления объекта GPO:

samba-tool gpo del {38A4873E-6286-4BF1-8630-2EA2D3BCBD19} -U Administrator
Password for [ELLES\Administrator]:
GPO {38A4873E-6286-4BF1-8630-2EA2D3BCBD19} deleted.

Проверка разрешений (ACL) для GPO

Для проверки соответствия разрешений ACL, заданных для объектов GPO в файловой системе (SysVol) и службе каталогов, используется следующий формат вызова:

samba-tool gpo aclcheck

В случае полного соответствия разрешений для всех объектов подкоманда ничего не выводит.

При обнаружении несоответствия подкоманда выводит сообщение с указанием:

  • текущего дескриптора безопасности объекта GPO как объекта файловой системы на языке определения дескрипторов безопасности (SDDL);

  • пути к GPO в SysVol;

  • ожидаемого набора ACL, в качестве которого выступает значение nTSecurityDescriptor для объекта GPO в службе каталогов (groupPolicyContainer).

Параметры

Параметры вызова:

  • -H URL|--URL=URL — URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта.

Примеры

Пример проверки ACL для GPO:

samba-tool gpo aclcheck -U Administrator
Password for [ELLES\Administrator]:
ERROR: Invalid GPO ACL O:DAG:DAD:PAI(A;OICI;0x001f01ff;;;DA)(A;OICI;0x001f01ff;;;EA)(A;OICIIO;0x001f01ff;;;CO)(A;OICI;0x001f01ff;;;DA)(A;OICI;0x001f01ff;;;SY)(A;OICI;0x001200a9;;;AU)(A;OICI;0x001200a9;;;ED) on path (elles.inno.tech\Policies\{38A4873E-6286-4BF1-8630-2EA2D3BCBD19}), should be O:DAG:DAD:P(A;OICI;0x001f01ff;;;DA)(A;OICI;0x001f01ff;;;EA)(A;OICIIO;0x001f01ff;;;CO)(A;OICI;0x001f01ff;;;DA)(A;OICI;0x001f01ff;;;SY)(A;OICI;0x001200a9;;;AU)(A;OICI;0x001200a9;;;ED)

Управление флагами применения GPO

Для управления флагами применения объекта GPO используется следующий формат вызова:

samba-tool gpo setflags <gpo> <GPO_FLAG_ALL_ENABLE|GPO_FLAG_MACHINE_DISABLE|GPO_FLAG_USER_DISABLE|GPO_FLAG_ALL_DISABLE>

В качестве значения gpo ожидается GUID требуемого объекта групповой политики. Для получения GUID может использоваться подкоманда samba-tool gpo listall.

Подкоманда изменяет значение атрибута flags указанного объекта GPO в соответствии с переданным значением. Возможные значения:

  • GPO_FLAG_ALL_ENABLE — объект GPO включен (все заданные в нем настройки применяются к целевым объектам);

  • GPO_FLAG_MACHINE_DISABLE — отключен раздел GPO, относящийся к настройкам пользователей;

  • GPO_FLAG_USER_DISABLE — отключен раздел GPO, относящийся к настройкам компьютеров;

  • GPO_FLAG_ALL_DISABLE — объект GPO отключен (заданные в нем настройки не применяются к целевым объектам).

Параметры

Параметры вызова:

  • -H URL|--URL=URL — URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта.

Примеры

Пример отключения раздела GPO, относящегося к настройкам пользователей:

samba-tool gpo setflags {B5CC6FF0-98A3-4BD0-8B09-E33D1B55F8D6} \
   GPO_FLAG_USER_DISABLE
dn           : CN={B5CC6FF0-98A3-4BD0-8B09-E33D1B55F8D6}
flags before : NONE
flags after  : GPO_FLAG_USER_DISABLE

Пример включения всех разделов объекта GPO:

samba-tool gpo setflags {B5CC6FF0-98A3-4BD0-8B09-E33D1B55F8D6} \
   GPO_FLAG_ALL_ENABLE
dn           : CN={B5CC6FF0-98A3-4BD0-8B09-E33D1B55F8D6}
flags before : GPO_FLAG_USER_DISABLE
flags after  : NONE