Версия - gpupdate-0.9.12.6-alt1 Стенд - ALT Server в качестве Samba DC - ALT Workstation в качестве клиента Шаги воспроизведения 1. Добавить logon-скрипт для Default Domain Policy (например, через RSAT): Перейти в Компьютер → Настройки системы → Скрипты → Запуск, указать как startup.sh. 2. Создать скрипт: uuid_policy="$(samba-tool gpo listall | grep -B1 'Default Domain Policy' | head -1 | cut -f '2' -d ':' | xargs)" && \ cd /var/lib/samba/sysvol/samba.testdomain/Policies/${uuid_policy} && \ echo 'echo [STARTUP] $(date): ${@} >> /var/log/date.log' >> MACHINE/Scripts/Startup/startup.sh 3. Применить политику и перезагрузиться: # gpupdate &> gpupdate.log && gpoa --loglevel 0 &> gpoa.log && reboot 4. Проверить выполнение скрипта: # cat /var/log/date.log Ожидаемый результат: скрипт выполнен при загрузке системы. Фактический результат: скрипт не выполнен при загрузке системы. В логах выполнения обновления политики характерное OSError: [Errno 8] Exec format error Добавляю в startup.sh shebang и всё начинает работать как надо. - https://stackoverflow.com/questions/27606653/oserror-errno-8-exec-format-error
Символ shebang (#!) в начале скрипта указывает операционной системе, какой интерпретатор следует использовать для выполнения скрипта. Добавление символа shebang в начало скрипта - это стандартная практика, которая делает скрипты переносимыми и гарантирует их корректное выполнение на различных системах. Это не ограничивает вас в использовании только скриптов на языке оболочки (например, bash), вы также можете указать путь к интерпретатору для других языков программирования.
Добавил примечание в Wiki: https://www.altlinux.org/Групповые_политики/Управление_logon-скриптами