Содержание
Если клиенты находятся в закрытом от интернета контуре необходимо по инструкции от ALDPro подключить репозиторий с iso образом ОС Astra.
1. Настройка локального репозитория для продуктов Р7
1.1 Перейдите в Репозитории ПО
1.2 Создайте Новый репозиторий
1.3 Заполните и нажмите сохранить
После сохранения перейдите в созданную политику и запишите Абсолютный путь до репозитория, он понадобится для настройки репозиториев на клиентских ПК.
2. Добавление пакета в репозиторий
2.1 Перейдите во вкладку Версии и нажмите Новая версия
2.2 Необходимо выбрать Пакеты
2.3 Далее заполняйте по примеру
Нажмите сохранить
2.4 Перейдите во вкладку Текущее содержимое и нажмите Загрузить пакет
Выбираете нужный пакет и загружаете
2.5 После загрузки пакет появится в списке, после этого нажимаем кнопку Опубликовать
3. Настройка Групповой политики
3.1 Заходите в администрирование домена и выбирите Групповые политики
3.2 Создаем новую групповую политику
Вводим имя и нажимаем сохранить.
3.3 Далее перейдите в Доп.параметры групповых политик
3.4 Новый параметр
3.5 Пример заполнения
3.6 Перейдите во вкладку Атрибуты параметра — Новый параметр
3.6.1 Заполняем атрибут для копирования файла лицензии (идентификатор будет использоваться в скрипте)
3.6.2 Добавьте второй атрибут для выбора продукта для установки (идентификатор будет использоваться в скрипте)
3.7 Перейдите во вкладку Конфигурация скрипта и заполните тело скрипта
В блоке Добавления репозитория Р7 необходимо ввести Абсолютный путь
{% set name = salt['pillar.get']("app_name") %}
{% set source = salt['pillar.get']("license_file") %}
Добавление репозитория Р7:
pkgrepo.managed:
- humanname: r7-office
- name: deb [trusted=yes] <Абсолютный путь к репозиторию> latest main
- file: /etc/apt/sources.list.d/r7.list
Обновление:
pkg.uptodate:
- refresh: True
Установка продукта Р7:
pkg.installed:
- names:
- {{ name }}
{% if name == 'r7-office' %}
Активация Р7-Редактор:
file.directory:
- name: /etc/r7-office/license
- user: root
- group: root
- mode: '0777'
- makedirs: True
- recurse:
- user
- group
- mode
cmd.run:
- name: "echo {{ source }} | base64 -d > /etc/r7-office/license/license.lickey"
- unless: 'test -f /etc/r7-office/license/license.lickey'
- shell: /bin/bash
{% elif name == 'r7-organizer' %}
Активация Р7-Органайзер:
cmd.run:
- name: "echo {{ source }} | base64 -d > /mnt/license.lickey"
- unless: 'test -f /mnt/license.lickey'
- shell: /bin/bash
Создание скрипта:
file.managed:
- name: /tmp/activate.sh
- contents: |
#!/bin/bash
SOURCE_FILE="/mnt/license.lickey"
while IFS=: read -r username _ uid gid _ homedir _; do
if [ "$uid" -ge 1000 ] && [ -d "$homedir" ]; then
mkdir -p "$homedir/.r7organizer/license_pro/"
cp "$SOURCE_FILE" "$homedir/.r7organizer/license_pro"
chown -R "$username":"$gid" "$homedir/.r7organizer"
rm -fr "$homedir/.r7organizer/demo"
fi
done < /etc/passwd
- user: root
- group: root
- mode: 600
Установка лицензии для доменных пользователей:
{% set active_domain_users = salt['aldpro_user.get_domain_user_sessions']() %}
{% for user in active_domain_users %}
{% set user_info = salt['user.info'](user) %}
{% if user_info %}
add_license_for_{{ user }}:
file.managed:
- name: {{ user_info.home }}/.r7organizer/license_pro/license.lickey
- source: /mnt/license.lickey
- user: {{ user }}
- group: {{ user }}
- mode: 644
- makedirs: True
- require:
- user: {{ user }}
{% endif %}
{% endfor %}
Выполнение скрипта:
cmd.script:
- source: /tmp/activate.sh
Удаление скрипта:
file.absent:
- name: /tmp/activate.sh
Удаление временного файла лицензии:
file.absent:
- name: /mnt/license.lickey
{% endif %}Заполните комментарий и сохраните
3.8 Перейдите в созданную групповую политику и во вкладке Параметры компьютеров выберите созданную групповую политику
3.9 Добавление подразделения для применения политики
Перейдите во вкладку Подразделения и нажмите Добавить подразделение
4. Применение политики
Для применения политики необходимо заполнить атрибуты
В поле app_name вводим r7-office (на данный момент только он присутствует в локальном репозитории)
В поле license_file необходимо ввести содержимое файла лицензии в формате Base64
Получить это значение можно с помощью команды
cat <filename> | base64 -w0
После применения политка начнёт работать
Для проверки на пк в сети можно воспользоваться командой для ручного применения групповых политик
aldpro-salt-call state.apply gpupdate.gp
На примере данной статьи можно добавить в репозиторий приложения r7grafika и r7-organizer

















