Работа с samba-gpupdate
Скрипт samba-gpupdate (полный путь после установки — /app/inno-samba/sbin/samba-gpupdate) отвечает за применение и отмену применения групповых политик.
Общие сведения
Групповые политики обеспечивают централизованное управление настройками операционных систем, приложений и пользователей в домене. Набор настроек, назначенный администратором определенной группе компьютеров и пользователей, объединяется в объект групповой политики (Group Policy Object, GPO).
Инфраструктура управления и применения GPO в домене состоит из двух уровней:
-
серверные расширения (Server Side Extensions, SSE) — отвечают за работу с GPO на контроллере домена, позволяя администраторам задавать и применять настройки к определенным компьютерам и пользователям в домене;
-
клиентские расширения (Client Side Extensions, CSE) — модули на клиентских машинах, обеспечивающие установку и применение определенных политик (в случае Эллес клиентское расширение представляет собой файл на Python).
При запуске скрипт samba-gpupdate сверяет локальный лог примененных ранее GPO (/app/inno-samba/var/cache/gpo.tdb) с текущим списком GPO в каталоге sysvol (/app/inno-samba/var/locks/sysvol/<domain-name>/Policies/), сортируя их по контейнерам. При обнаружении различий содержимое sysvol трактуется как новые/измененные GPO и импортируется/применяется.
Для настройки и редактирования групповых политик в текущей версии Эллес используется редактор групповых политик (Group Policy Management Editor, GPME) на участнике домена под управлением ОС Windows.
Пример объекта групповой политики (GPO)
Например, GPO может использоваться для управления атрибутами парольной политики, выдачи билетов Kerberos и блокировки учетных записей на контроллерах домена Эллес (server role = active directory domain controller в smb.conf).
Настройки, применяемые в рамках данного объекта GPO, хранятся в файле MACHINE/Microsoft/Windows NT/SecEdit/GptTmpl.inf в подкаталоге соответствующего объекта GPO в sysvol.
Серверное расширение (SSE) для GPO распространяется в виде административного шаблона в формате ADMX.
Клиентские расширения (CSE) для GPO — gp_access_ext и gp_krb_ext. Они обеспечивают применение правил использования паролей, выдачи билетов Kerberos и блокировки учетных записей через соответствующие атрибуты LDAP непосредственно в базе данных на контроллере домена Эллес.
Набор доступных атрибутов соответствует GPO Password Policy, GPO Account Lockout Policy и GPO Kerberos Policy в домене Active Directory (путь в GPME: Computer Configuration > Policies > Windows Settings > Security Settings > Account Policies):
-
атрибуты парольной политики:
Настройка в GPME Атрибут в CSE Атрибут LDAP Описание Enforce password history
PasswordHistorySize
pwdHistoryLength
Количество новых уникальных паролей, по достижении которого для учетной записи может повторно использоваться введенный ранее пароль
Maximum password age
MaximumPasswordAge
maxPwdAge
Максимальный срок использования пароля до его смены (в днях)
Minimum password age
MinimumPasswordAge
minPwdAge
Минимальный срок использования пароля до его смены (в днях)
Minimum password length
MinimumPasswordLength
minPwdLength
Минимальная длина пароля
Password must meet complexity requirements
PasswordComplexity
pwdProperties
Соответствие требованиям к сложности пароля
-
атрибуты блокировки учетных записей:
Настройка в GPME Атрибут в CSE Атрибут LDAP Описание Account lockout duration
LockoutDuration
lockoutDuration
Продолжительность блокировки учетной записи (в минутах)
Reset account lockout counter after
ResetLockoutCount
lockOutObservationWindow
Время до сброса счетчика неудачных попыток входа (в минутах)
Account lockout threshold
LockoutBadCount
lockoutThreshold
Количество неудачных попыток входа до блокировки учетной записи
-
атрибуты выдачи билетов Kerberos:
Настройка в GPME Атрибут в CSE Настройка в smb.conf Описание Maximum lifetime for user ticket
MaxTicketAge
kdc:user_ticket_lifetime
Максимальный период действия выданного пользователю TGT-билета для аутентификации Kerberos (в часах)
Maximum lifetime for service ticket
MaxServiceAge
kdc:service_ticket_lifetime
Максимальный период действия сервисного билета для аутентификации Kerberos (в минутах)
Maximum lifetime for user ticket renewal
MaxRenewAge
kdc:renewal_lifetime
Максимальный период, в течение которого может быть обновлен TGT-билет пользователя для аутентификации Kerberos (в днях)
Настройка автоматического запуска
Для включения автоматического запуска скрипта samba-gpupdate на контроллере домена Эллес или участнике, введенном в домен с помощью Winbind:
-
Добавьте в раздел
[global]в конфигурационном файле smb.conf следующий параметр:apply group policies = yes
-
При необходимости задайте также интервал запуска скрипта не более 120 минут (по умолчанию скрипт запускается с интервалом 90–120 минут) в разделе
[global]в конфигурационном файле smb.conf в следующем формате:apply group policies : period = <num>
В параметре
numсоответствует количеству минут не более 120. При значении0используется интервал по умолчанию.
Формат вызова
Общий формат вызова скрипта:
samba-gpupdate [options]
В результате выполнения скрипта к локальной машине или указанному пользователю применяются групповые политики, которые ранее к ним не применялись или в которые с момента последнего применения были внесены изменения.
Параметры
Параметры вызова:
-
--force— повторное применение всех объектов GPO, включая те, которые ранее уже применялись; -
--rsop— получение информации о доступных групповых политиках (объекты GPO и реализующие их клиентские расширения); -
--target:-
--target=Computer— применение или отмена применения групповых политик к локальной машинной учетной записи участника домена (по умолчанию); -
--target=User -U<username>— применение или отмена применения групповых политик к учетной записи пользователя с указаннымusername;
-
-
-X|--unapply— отмена применения всех объектов GPO.Для выполнения скрипта с этой опцией требуются права суперпользователя.
Общие параметры:
-
-d DEBUGLEVEL|--debuglevel=DEBUGLEVEL— уровень логирования (целое число от0до10); -
--option="OPTION=NEWVALUE"— переопределение параметра в конфигурационном файле smb.conf; -
--realm=REALM— имя домена;Переданное в параметре значение переопределяет значение аналогичного параметра в файле smb.conf. -
-s FILE|--configfile=FILE— путь к конфигурационному файлу smb.conf (если отличается от пути по умолчанию).
Параметры аутентификации:
-
--ipaddress=IPADDRESS— IP-адрес сервера; -
-k KERBEROS|--kerberos=KERBEROS— необходимость аутентификации с использованием Kerberos; -
-N|--no-pass— указывает на отсутствие необходимости запрашивать у пользователя пароль; -
-P|--machine-pass— использовать сохраненный пароль учетной записи компьютера; -
--password— пароль для передачи в командной строке; -
--simple-bind-dn=DN— уникальное имя для использования скрипта при простом удаленном подключении; -
-U USERNAME|--username=USERNAME— имя пользователя либо имя пользователя и пароль; -
-W WORKGROUP|--workgroup=WORKGROUP— домен, к которому относится переданное имя пользователя.
Примеры
Примеры использования скрипта на локальной машине:
-
применение новых и измененных GPO:
samba-gpupdate
-
повторное применение всех GPO:
samba-gpupdate --force
samba-gpupdate --force --target=Computer
samba-gpupdate --force --target=User -U "User Name"
-
отмена применения всех GPO:
samba-gpupdate --unapply
samba-gpupdate --unapply --target=Computer
samba-gpupdate --unapply --target=User -U "User Name"
-
получение информации о всех GPO, доступных для применения:
samba-gpupdate --rsop Resultant Set of Policy Computer Policy GPO: Default Domain Policy ================================================================= CSE: gp_access_ext ----------------------------------------------------------- Policy Type: System Access ----------------------------------------------------------- [ MinimumPasswordAge ] = 1 [ MaximumPasswordAge ] = 60 [ MinimumPasswordLength ] = 12 [ PasswordComplexity ] = 1 [ LockoutDuration ] = 0 [ ResetLockoutCount ] = 50 [ LockoutBadCount ] = 10 ----------------------------------------------------------- ----------------------------------------------------------- CSE: gp_krb_ext ----------------------------------------------------------- Policy Type: Kerberos Policy ----------------------------------------------------------- [ MaxTicketAge ] = 10 [ MaxRenewAge ] = 7 [ MaxServiceAge ] = 600 ----------------------------------------------------------- ----------------------------------------------------------- =================================================================samba-gpupdate --rsop --target=Computer
samba-gpupdate --rsop --target=User -U "User Name"