Работа с 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 и импортируется/применяется.

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

  • утилита samba-tool (см. раздел «Администрирование объектов групповых политик (GPO)»);

  • сервис «Управление групповыми политиками» в составе приложения «Менеджер службы каталогов» (см. подробнее в разделе «Групповые политики»);

  • редактор групповых политик Group Policy Management Editor (GPME) в составе набора компонентов Remote Server Administration Tools (RSAT) на участнике домена под управлением ОС Windows.

Настройка автоматического запуска

Для включения автоматического запуска скрипта samba-gpupdate на контроллере домена Эллес или участнике, введенном в домен с помощью Winbind:

  1. Добавьте в раздел [global] в конфигурационном файле smb.conf следующий параметр:

    apply group policies = yes
  2. При необходимости задайте также интервал запуска скрипта не более 120 минут (по умолчанию скрипт запускается с интервалом 90–120 минут) в разделе [global] в конфигурационном файле smb.conf в следующем формате:

    apply group policies:period = <num>

    В параметре num соответствует количеству минут не более 120. При значении 0 используется интервал по умолчанию.

Настройка применения групповых политик LAPS

Для обеспечения применения групповых политик и поддержки функциональности LAPS на рабочих станциях с ОС Astra Linux, введенных в домен с использованием Winbind или SSSD в связке с Winbind, установите пакет elles-workstation:

  • при установке из репозитория выполните:

    sudo apt install elles-workstation -y
  • при установке из архива выполните (путь к пакету и номер версии приводятся для примера; скорректируйте в соответствии с фактическим расположением файла и используемой версией):

    sudo dpkg -i /packages/inno-samba-1.20.0/elles-workstation_1.20.0_amd64.deb
    sudo apt install -f

Формат вызова

Общий формат вызова скрипта:

samba-gpupdate [options]

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

Параметры

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

  • --force — повторное применение всех объектов GPO, включая те, которые ранее уже применялись;

  • --rsop — получение информации о доступных групповых политиках (объекты GPO и реализующие их клиентские расширения);

  • --target:

    • --target=Computer — применение или отмена применения групповых политик к локальной учетной записи (по умолчанию); если не задан параметр -U <username>, то будет использована машинная учетная запись;

    • --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 (если отличается от пути по умолчанию).

Параметры аутентификации:

  • --use-kerberos=desired|required|off — использовать Kerberos для аутентификации;

    Возможные значения:

    • required — обязательное использование Kerberos (эквивалент ключа -k);

    • desired — использовать Kerberos, если доступен (по умолчанию);

    • off — отключить Kerberos, использовать NTLM.

    Параметр -k|--kerberos устарел и не рекомендуется к использованию.
  • --use-krb5-ccache=KRB5CCNAME — использовать указанный кэш Kerberos (например, FILE:/tmp/krb5cc_123) для аутентификации;

    Требует предварительного получения билета через kinit.

  • -U [DOMAIN\]USERNAME[%PASSWORD]|--user=[DOMAIN\]USERNAME[%PASSWORD] — имя пользователя либо имя пользователя и пароль;

  • -W WORKGROUP|--workgroup=WORKGROUP — домен, к которому относится переданное имя пользователя;

  • -N|--no-pass — указывает на отсутствие необходимости запрашивать у пользователя пароль;

  • -P|--machine-pass — использовать сохраненный пароль учетной записи компьютера;

  • --password — пароль для передачи в командной строке;

  • --simple-bind-dn=DN — DN для использования скрипта при простом удаленном подключении.

Примеры

Примеры вызова скрипта samba-gpupdate:

  • применение новых и измененных GPO (при отсутствии изменений политики не применяются):

    samba-gpupdate

    Применяет только те групповые политики, которые были добавлены или изменены с момента последнего применения. Скрипт сравнивает текущее состояние GPO в sysvol с локальным кэшем и применяет изменения автоматически. Используется по умолчанию — применяет политики к локальной машине (--target=Computer) с использованием машинной учетной записи.

  • принудительное применение всех GPO (независимо от наличия или отсутствия изменений):

    samba-gpupdate --force

    Принудительно переприменяет все доступные групповые политики, игнорируя состояние локального кэша. Полезно для принудительного обновления конфигурации после ручных изменений или сбоев. Использует машинную учетную запись для аутентификации.

    samba-gpupdate --force --target=Computer

    Аналогично предыдущему, но явно указывает применение политик к локальной компьютерной учетной записи (эквивалентно поведению по умолчанию, но с принудительным режимом). Использует машинную учетную запись для аутентификации.

    samba-gpupdate --force --target=User -U "User Name"

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

  • отмена применения всех GPO:

    samba-gpupdate --unapply

    Отменяет все ранее примененные групповые политики на локальной машине. Восстанавливает систему к состоянию до применения любых GPO.

    samba-gpupdate --unapply --target=Computer

    Явно отменяет применение GPO для локальной компьютерной учетной записи. Эквивалентно вызову без параметра --target, но с явным указанием цели.

    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
        -----------------------------------------------------------
      -----------------------------------------------------------
    =================================================================

    Выводит Resultant Set of Policy (RSOP) — итоговый набор политик, применимых к целевому объекту (по умолчанию — локальная машина). Отображает все активные клиентские расширения (CSE) и их параметры. Для получения RSOP для пользователя добавьте --target=User с указанием имени пользователя с помощью параметра -U.