Целевой аудиторией данного руководства являются системные администраторы Сервера безопасности Тундук ответственные за установку и сопровождение программного обеспечения X-Road. Документ предназначен для читателей с умеренными знаниями администрирования Linux серверов и компьютерных сетей. Все команды выполняются от пользователя root. ====== В этом документе описывается утилита autologin, которая автоматически вводит PIN-код от SoftToken после запуска xroad-signer. ====== Автологин допуступен на любой версии xroad, но, рекомендуется обновиться до версии последней релизной версии. =====Как настроить===== 1.Устанавливаем пакет $ apt install xroad-autologin 2.Если допустимо хранение ПИН-кода на сервере в виде открытого текста, создайте файл /etc/xroad/autologin, содержащий ПИН-код. Файл должен быть доступен для чтения пользователю xroad Если /etc/xroad/autologin не существует и вы не внедрили custom-fetch-pin.sh, служба не запустится. ===== Если вы не хотите хранить PIN-код в виде открытого текста, реализуйте bash-скрипт /usr/share/xroad/autologin/custom-fetch-pin.sh ===== Скрипт должен вывести PIN-код на стандартный вывод. Скрипт должен быть доступен для чтения и выполнения пользователем xroad. Скрипт должен выйти с кодом выхода. 0, если он смог успешно получить PIN-код 127, если он не смог получить PIN-код, но это не фактическая ошибка, которая должна привести к сбою службы (реализация по умолчанию использует это, если /etc/xroad/autologin не существует) другие коды выхода в ситуациях ошибок, которые должны привести к сбою службы #!/bin/bash PIN_CODE=$(curl https://some-address) echo "${PIN_CODE}" exit 0 =====Детали реализации===== 1.Создает новый сервис xroad-autologin 2.Служба запускается после запуска xroad-signer 3.В RHEL/Ubuntu 20.04 сервис вызывает скрипт-оболочку /usr/share/xroad/autologin/xroad-autologin-retry.sh, который, в свою очередь, вызывает autologin.expect Сценарий оболочки обрабатывает повторные попытки в случае ошибки 4.Сервис пытается ввести ПИН-код с помощью консоли подписчика скриптов Если PIN-код был правильным или неправильным, он выходит Если произошла ошибка (например, из-за того, что xroad-signer еще не полностью запущен), он продолжает повторять попытки бесконечно. ---- Автор Даниил Горбенко