Сброс пароля пользователя

Команда сброса пароля

Чтобы сбросить пароль пользователя, выполните следующую команду на сервере, где запущен Databasus:

docker exec -it databasus ./main --new-password="YourNewSecurePassword123" --email="owner@example.com"

Параметры

Команда принимает следующие параметры:

  • --new-password: новый пароль, не короче 8 символов. Убедитесь, что он надежный и содержит буквы, цифры и специальные символы.
  • --email: email учетной записи, чей пароль вы хотите сбросить (например, owner@example.com). Инстанс, созданный до того, как первая учетная запись стала им управлять, до сих пор носит адрес-заглушку admin, пока владелец его не заменит — там передавайте admin.

Список администраторов

Если вы не помните, какой адрес управляет инстансом, выведите список администраторов на сервере, где запущен Databasus:

docker exec -it databasus ./main --list-admins

В выводе перечислены все учетные записи администраторов с их email, именем, датой создания и состоянием активности, а та, которую инстанс считает своим администратором, отмечена отдельно. Пароли, их хеши и токены не выводятся. На инстансе, где еще никто не завел учетную запись, команда сообщит, что администратора нет.

Создание учетной записи из консоли

Учетную запись можно завести без регистрации в браузере, например из скрипта деплоя. Выполните команду на сервере, где запущен Databasus:

docker exec -it databasus ./main --create-user --email="ops@example.com" --password="YourSecurePassword123" --role=admin

Команда принимает следующие параметры:

  • --email: email новой учетной записи. Адрес должен быть корректным.
  • --password: пароль новой учетной записи, не короче 8 символов.
  • --role: admin или member.
  • --name: отображаемое имя, необязательно. Без него учетная запись получит имя по части адреса до @.

Учетная запись сразу активна, и в нее можно войти с этим адресом и паролем, даже если открытая регистрация выключена. На инстансе, где еще нет ни одной учетной записи, созданная учетная запись станет администратором инстанса, поэтому первой нужно передать --role=admin. Администратор, созданный так позже, будет обычным администратором.

Повторный запуск для существующей учетной записи с той же ролью завершится успешно и ничего не изменит, так что команду можно выполнять при каждом деплое. Пароль при этом тоже не меняется: для смены пароля используйте команду сброса с --new-password выше. Если адрес принадлежит учетной записи с другой ролью, деактивированной или приглашенной учетной записи либо той, что входит через Google или GitHub, команда завершится ошибкой и ничего не изменит.

Перестать запрашивать код при входе

Инстанс может требовать при входе шестизначный код, присланный по почте, в дополнение к паролю. Если почтовый сервер перестал доставлять такие письма, по паролю не войдет никто, и сброс пароля сам по себе не поможет. Выключите второй фактор на сервере, где запущен Databasus:

docker exec -it databasus ./main --disable-2fa

Команда сообщает, изменила ли она что-нибудь, спокойно отрабатывает, если второй фактор уже выключен, и записывает изменение в журнал аудита. Следующий вход по паролю пройдет без кода, а когда почта заработает, администратор может снова включить настройку.