Управление групповыми политиками для запуска скриптов при входе в систему
Назначение групповых политик для запуска скриптов при входе в систему — настройка сценариев входа пользователей в систему на клиентских машинах под управлением ОС Linux. При назначении политики указанный файл скрипта автоматически загружается в SysVol.
Настройки, применяемые в рамках данных политик, хранятся в файле MACHINE/VGP/VTLA/Unix/Scripts/Startup/manifest.xml в подкаталоге соответствующего объекта GPO в SysVol. При необходимости они могут быть отредактированы в любом текстовом редакторе.
Серверное расширение (SSE) для работы с данными политиками в GPME отсутствует. Для их администрирования может использоваться только подкоманда samba-tool gpo manage scripts startup.
Клиентское расширение (CSE) создает на клиентских машинах задания в планировщике cron с переменной @reboot. Настройки политики применяются только к целевому объекту Machine.
Добавление групповой политики для запуска скриптов при входе в систему
Для задания настроек запуска скрипта при входе в систему с помощью групповой политики используется следующий формат вызова:
samba-tool gpo manage scripts startup add <gpo> <script> [args] [run_as] [options]
В качестве значения gpo ожидается GUID требуемого объекта групповой политики. Для получения GUID может использоваться подкоманда samba-tool gpo listall. Второй обязательный аргумент — относительный путь и имя файла скрипта (script), который должен быть создан заранее.
При необходимости также могут быть заданы:
-
аргументы (
args) для передачи скрипту при запуске;Аргументы заключаются в кавычки. Символы '-' должны быть экранированы. Например:
'\\-n \\-p all'. -
пользователь (
run_as), от имени которого должен запускаться скрипт.По умолчанию скрипт запускается от имени пользователя root.
Если скрипт необходимо выполнить только один раз (при следующем входе в систему), должен быть передан параметр --run-once.
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--run-once— выполнить скрипт один раз при следующем входе в систему.
Примеры
Пример добавления скрипта для запуска при входе в систему на клиентской машине:
-
Создайте скрипт. Например:
cat test_script.sh #!/bin/sh echo Something is happening here at startup
-
Выполните подкоманду:
samba-tool gpo manage scripts startup add \ {31B2F340-016D-11D2-945F-00C04FB984F9} \ test_script.sh \ -U Administrator -
Для проверки доступности политики на клиентской машине с ОС Linux — участнике домена выполните:
sudo /app/inno-samba/sbin/samba-gpupdate --rsop Resultant Set of Policy Computer Policy GPO: Default Domain Policy ================================================================= CSE: vgp_startup_scripts_ext ----------------------------------------------------------- Policy Type: VGP/Unix Settings/Startup Scripts ----------------------------------------------------------- [ @reboot root /app/inno-samba/var/cache/gpo_cache/ELLES.INNO.TECH/ POLICIES/{31B2F340-016D-11D2-945F-00C04FB984F9}/ MACHINE/VGP/VTLA/UNIX/SCRIPTS/STARTUP/ TEST_SCRIPT.SH ] ----------------------------------------------------------- ----------------------------------------------------------- ================================================================= -
Обновите политики на клиентской машине:
sudo /app/inno-samba/sbin/samba-gpupdate --force
-
В результате применения политики в каталоге /etc/cron.d/ создается скрипт:
sudo cat /etc/cron.d/gp_vzldfcii ### autogenerated by samba # # This file is generated by the vgp_startup_scripts_ext Group # Policy Client Side Extension. To modify the contents of this # file, modify the appropriate Group Policy objects which apply # to this machine. DO NOT MODIFY THIS FILE DIRECTLY. # @reboot root /app/inno-samba/var/cache/gpo_cache/ELLES.INNO.TECH/POLICIES/ {31B2F340-016D-11D2-945F-00C04FB984F9}/MACHINE/VGP/VTLA/UNIX/ SCRIPTS/STARTUP/TEST_SCRIPT.SH -
Для просмотра содержимого скрипта выполните:
sudo cat /app/inno-samba/var/cache/gpo_cache/ELLES.INNO.TECH/POLICIES/ {31B2F340-016D-11D2-945F-00C04FB984F9}/MACHINE/VGP/VTLA/UNIX/ SCRIPTS/STARTUP/TEST_SCRIPT.SH #!/bin/sh echo Something is happening here at startup
Получение информации о групповой политике для запуска скриптов при входе в систему
Для получения информации о настройках групповой политики, обеспечивающей запуск скрипта при входе в систему на клиентских машинах, в SysVol используется следующий формат вызова:
samba-tool gpo manage scripts startup list <gpo> [options]
В качестве значения gpo ожидается GUID требуемого объекта групповой политики. Для получения GUID может использоваться подкоманда samba-tool gpo listall.
Подкоманда выводит:
-
параметры запуска скрипта;
-
пользователя, от имени которого запускается скрипт;
-
путь к скрипту и имя скрипта в SysVol.
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта.
Примеры
Пример получения настроек, применяемых в рамках групповой политики для запуска скрипта при входе в систему:
samba-tool gpo manage scripts startup list \
{31B2F340-016D-11D2-945F-00C04FB984F9} \
@reboot root \\elles.inno.tech\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\MACHINE\VGP\VTLA\Unix\Scripts\Startup\test_script.sh \
-U Administrator
Удаление групповой политики для запуска скриптов при входе в систему
Для удаления настроек групповой политики для запуска скрипта при входе в систему из SysVol используется следующий формат вызова:
samba-tool gpo manage scripts startup remove <gpo> <script> [options]
В качестве значения gpo ожидается GUID требуемого объекта групповой политики. Для получения GUID может использоваться подкоманда samba-tool gpo listall. Также указывается имя скрипта (script), выполнение которого обеспечивает политика.