Автоматическое заполнение паролей
Начиная с релиза 3.5 для сохранения уровня безопасности устанавливаемой системы из примеров конфигурационных файлов (каталог ~/install_pgs/contrib/) были исключены значения переменных, содержащих пароли.
Для автоматического создания паролей, уникальных для каждой установки продукта, в дистрибутив был добавлен скрипт ~/install_pgs/contrib/password_generator.py, который генерирует пароли и заполняет переменные с учетом различных требований к длине пароля. Скрипт заполняет переменные для обоих компонентов, в зависимости от конфигурационного файла. Если переменная уже была заполнена ранее, ее значение сохраняется и не замещается новым.
Запуск скрипта рекомендуется осуществлять с использованием преднастроенного виртуального окружения venv, настроенного в соответствии с разделом Автоматическая установка дополнительного ПО.
Рекомендуется размещать конфигурационные файлы main.yml и integration.yml в каталоге group_vars/pgs_setup (в соответствии с требованиями раздела Размещение конфигурационных файлов). В случае размещения конфигурационного файла в другом каталоге необходимо указать путь до конфигурационного файла при запуске скрипта (см. аргументы -d и -i в таблице).
Синтаксис использования скрипта:
[запуск python и путь до скрипта][-i путь до конфигурационного файла][-аргументы запуска]
| Полный аргумент | Короткий аргумент | Описание |
|---|---|---|
| --help | -h | Справка по описанию и примерам использования скрипта |
| --mode print | -m p | Режим проверки генерации. Выполняется чтение файлов, создаются пароли только для незаполненных переменных. Процесс выводится на экран терминала |
| --mode write | -m w | Режим записи значений. Выполняется чтение файлов, создаются пароли только для незаполненных переменных, записываются в файлы с учетом общих значений |
| --mode check | -m c | Режим проверки значений. Проверяются значения общих переменных для компонентов |
| --input-files | -i | Нестандартный путь размещения. Синтаксис использования: [-i][пробел][путь до main.yml][пробел][путь до integration.yml] |
| --defaults | -d | Стандартный путь размещения |
Создание паролей для двух компонентов потребует предварительного размещения конфигурационных файлов обоих компонентов в соответствии с разделами: PGS - Размещение конфигурационных файлов, СО - Порядок размещения и заполнения файлов конфигурации.
Примеры запуска скрипта:
- Команда запуска скрипта в режиме записи для двух компонентов СО и PGS с использованием ключа -i (нестандартные пути размещения файлов):
python contrib/password_generator.py -i \
/root/install_pgs/group_vars/pgs_setup/main.yml \
/root/install_pgs/group_vars/pgs_setup/integration.yml \
/root/install_co/group_vars/co_setup/main.yml -m w
- Команда запуска скрипта в режиме вывода примера генерации паролей и с использованием ключа -d (стандартные пути размещения для СО и PGS):
python contrib/password_generator.py -d -m p
- Команда проверки заполненных файлов, что значения всех общих переменных одинаковы (стандартные пути размещения для СО и PGS):
python contrib/password_generator.py -d -m c
При использовании нестандартных путей размещения конфигурационных файлов вне зависимости от компонента следует указывать пути до файлов обоих компонентов (см. пример 1)