Skip to Content
Primo RPA AI ServerСистемным администраторамУстановка под LinuxСмена паролей встроенных учётных записей

Смена паролей встроенных учётных записей

В составе Primo AI Server есть встроенные служебные учётные записи, которые используются для межсервисного взаимодействия. После установки все они имеют пароль по умолчанию. Для обеспечения безопасности рекомендуется сменить пароли сразу после развёртывания.

Утилита Primo.AI.PasswordTool позволяет безопасно сменить пароль встроенной учётной записи напрямую в базе данных. После смены пароля все ранее выданные токены аутентификации становятся недействительными.

⚠️

После смены пароля учётной записи необходимо обновить конфигурацию всех сервисов, которые используют эту учётную запись, и перезапустить их. Подробнее — в разделе Действия после смены пароля.

Расположение в дистрибутиве

Утилита поставляется в составе дистрибутива в архиве PasswordTool-linux.zip.

Распакуйте архив в удобное расположение на машине сервера:

sudo mkdir -p /app/Primo.AI/Tools/PasswordTool sudo unzip PasswordTool-linux.zip -d /app/Primo.AI/Tools/PasswordTool sudo chmod +x /app/Primo.AI/Tools/PasswordTool/Primo.AI.PasswordTool

Параметры запуска

ПараметрОписание
--user <имя>Имя встроенной учётной записи (обязательный)
--password <пароль>Новый пароль
--generateСгенерировать криптостойкий пароль (16 символов) и вывести в stdout
--connection <строка>Строка подключения к БД (или переменная окружения PRIMO_IDENTITY_CONNECTION)

Обязателен один из параметров: --password или --generate.

Примеры использования

Смена пароля с явным указанием

/app/Primo.AI/Tools/PasswordTool/Primo.AI.PasswordTool \ --user agent \ --password 'MyStr0ng!Pass' \ --connection 'Host=localhost;Port=5432;Database=primo_ai_identity;Username=postgres;Password=yourDbPassword'

Автогенерация пароля

При использовании --generate утилита генерирует криптостойкий пароль и выводит его в stdout. Сохраните пароль — он понадобится для обновления конфигурации сервисов.

/app/Primo.AI/Tools/PasswordTool/Primo.AI.PasswordTool \ --user agent \ --generate \ --connection 'Host=localhost;Port=5432;Database=primo_ai_identity;Username=postgres;Password=yourDbPassword'

Пример вывода:

kR4!mNx@9pLw#2Qs Hashing password for 'agent'... Connecting to postgres database... Connected successfully. Updating password for 'agent' (Id: 00000000-0000-0000-0000-000000000003)... Password changed for 'agent'. Encrypted password for appsettings: a1B2c3D4e5F6g7H8== Don't forget to update appsettings.ProdLinux.json in services that use this account.

Первая строка — сгенерированный пароль (выводится в stdout). Остальные сообщения, включая зашифрованное значение пароля для конфигурации, выводятся в stderr.

Передача строки подключения через переменную окружения

Чтобы не указывать строку подключения при каждом вызове:

export PRIMO_IDENTITY_CONNECTION='Host=localhost;Port=5432;Database=primo_ai_identity;Username=postgres;Password=yourDbPassword' /app/Primo.AI/Tools/PasswordTool/Primo.AI.PasswordTool --user agent --generate /app/Primo.AI/Tools/PasswordTool/Primo.AI.PasswordTool --user inference --generate /app/Primo.AI/Tools/PasswordTool/Primo.AI.PasswordTool --user api --generate

Встроенные учётные записи

Утилита разрешает менять пароли только для перечисленных ниже учётных записей. Попытка указать другое имя приведёт к ошибке.

Учётная записьНазначениеГде обновить пароль после смены
adminАдминистративный доступ к веб-интерфейсу— (используется для входа в UI)
superadminСуперадминистратор— (используется для входа в UI)
agentСлужебная учётка сервиса Agentappsettings.ProdLinux.json сервиса Agent — секция Api.Password
inferenceСлужебная учётка сервиса Inferenceappsettings.ProdLinux.json сервиса Inference — секция Api.Password
apiСлужебная учётка сервиса Apiappsettings.ProdLinux.json сервиса Api — секция Api.Password
authСлужебная учётка сервиса Authappsettings.ProdLinux.json сервиса Auth — секция Api.Password
logsСлужебная учётка сервиса Logsappsettings.ProdLinux.json сервиса Logs — секция Api.Password
lfxСлужебная учётка Langflow Backendappsettings.ProdLinux.json сервиса Agent — секция Lfx.Password
lfcСлужебная учётка Langflow Frontend

Действия после смены пароля

  1. Скопируйте зашифрованный пароль из вывода утилиты (строка Encrypted password for appsettings). Это значение нужно вставить в конфигурацию сервисов.

  2. Обновите appsettings.ProdLinux.json в каждом сервисе, использующем изменённую учётную запись (см. таблицу выше). Например, после смены пароля учётной записи agent:

    sudo nano /app/Primo.AI/Agent/appsettings.ProdLinux.json

    Найдите секцию Api и вставьте зашифрованное значение в поле Password.

  3. Перезапустите затронутые сервисы:

    # Пример для Agent sudo systemctl restart Primo.AI.Agent # Пример для сервисов в Docker (Api, Auth, Inference, Logs) docker compose -f /app/Primo.AI/Api/docker-compose.yaml down docker compose -f /app/Primo.AI/Api/docker-compose.yaml up -d

Рекомендации по безопасности

  • Смените пароли всех служебных учётных записей сразу после установки Primo AI Server.
  • Используйте --generate для создания криптостойких паролей вместо ручного выбора.
  • Не сохраняйте пароли в истории командной оболочки. Используйте переменную окружения для строки подключения и --generate для паролей.
  • Периодически выполняйте ротацию паролей служебных учётных записей.