Файлы и службы¶
- /usr/local/bin/pss
Исполняемый файл.
- /opt/pss/config/pss.properties
Глобальные настройки, логи, пути к папкам и др. При внесении изменений перезапустить сервис.
- /opt/pss/config/pss.json
Основной файл настроек. Создаётся и обновляется автоматически. При старте сервис пытается загрузить именно его.
- /opt/pss/config/pss_back.json
Резервная копия предыдущей рабочей конфигурации. Сохраняется автоматически при действии Восстановить настройки в веб-интерфейсе и используется как первый запасной вариант, если основной pss.json не удалось разобрать.
- /opt/pss/config/pss_default.json
Файл настроек по умолчанию. Поставляется вместе с пакетом и применяется как последний запасной вариант, если ни основной pss.json, ни pss_back.json не удалось загрузить. Из него же создаётся рабочий pss.json при самом первом запуске: файл задаёт порт веб-интерфейса
8808и учётную запись admin / admin.- /opt/pss/config/bad/
Архив повреждённых файлов pss.json. Если при старте основной файл настроек не удалось разобрать, он перемещается сюда с именем вида pss_YYYYMMDD_HHMMSS.json. Каталог создаётся автоматически. Подробнее см. раздел Поведение при старте и ошибках конфигурации.
- /opt/pss/data
Папка размещения данных. Создаётся и обновляется автоматически. Может быть изменена в файле глобальных настроек.
- /usr/lib/systemd/system/pss.service
systemd-файл службы.
- /var/log/pss
Папка записи логов. Может быть изменена в файле глобальных настроек.
Имя службы — pss. Запускается от пользователя pss.
В процессе установки ставится сопутствующий пакет aksusbd от системы защиты; он включает службы hasplmd и aksusbd.
Поведение при старте и ошибках конфигурации¶
При запуске сервис последовательно пытается загрузить файлы настроек из папки /opt/pss/config:
pss.json — основной файл настроек.
pss_back.json — резервная копия предыдущей рабочей конфигурации.
pss_default.json — настройки по умолчанию, поставляемые вместе с пакетом.
Используется первый успешно загруженный файл. Если все три файла отсутствуют или повреждены, сервис стартует с пустыми настройками; в этом случае требуется ручная правка административного пароля и перезапуск.
Структурно повреждённый файл настроек. Если pss.json содержит синтаксическую ошибку JSON, неизвестные ключи, неверный тип значения или нарушение уникальности (например, два потока с одинаковым id), сервис помещает повреждённый файл в архив /opt/pss/config/bad/ с именем pss_YYYYMMDD_HHMMSS.json (дата и время старта). После этого сервис продолжает попытки загрузки в обычном порядке и пересохраняет рабочую конфигурацию в pss.json из pss_back.json или pss_default.json. Подробности (имя ключа, описание ошибки, имя файла в архиве) записываются в журнал работы.
В архив попадает только основной pss.json. Файлы pss_back.json и pss_default.json при повреждении не архивируются — записей в журнале достаточно для диагностики, а сами файлы остаются на месте и могут быть исправлены вручную.
Если в момент следующей загрузки в /opt/pss/config/bad/ уже существует файл с той же меткой времени (например, при быстрых перезапусках в одну и ту же секунду), он перезаписывается.
Числовые значения за пределами допустимого диапазона. Если в файле настроек встречается числовое значение меньше минимально допустимого или больше максимально допустимого для этого параметра, сервис не отбрасывает файл целиком. Вместо этого в журнал записывается предупреждение с указанием имени параметра, прочитанного значения и применённой границы, а само значение приводится к ближайшей допустимой границе диапазона (минимуму или максимуму). После завершения загрузки сервис автоматически пересохраняет pss.json с уже скорректированными значениями, поэтому при повторном запуске эти предупреждения уже не появляются.
Такое поведение применяется только при первоначальной загрузке файла настроек. При изменении настроек через веб-интерфейс или внешний API значения вне допустимого диапазона по-прежнему отклоняются с ошибкой — без автоматической коррекции.