Redefinir a senha de um usuário

Comando de redefinição de senha

Para redefinir a senha de um usuário, use o seguinte comando no servidor onde o Databasus está rodando:

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

Parâmetros

O comando aceita os seguintes parâmetros:

  • --new-password: a nova senha, com pelo menos 8 caracteres. Garanta que é segura e contém uma mistura de letras, números e caracteres especiais.
  • --email: o endereço de email da conta cuja senha você quer redefinir (por exemplo, owner@example.com). Uma instância criada antes de a primeira conta administrá-la ainda carrega o endereço provisório admin até que seu dono o substitua, então informe admin nesse caso.

Listar as contas de administrador

Se você não lembra qual endereço administra a instância, liste as contas de administrador no servidor onde o Databasus está em execução:

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

A saída nomeia cada conta de administrador com seu endereço de email, nome de exibição, data de criação e estado de atividade, e marca aquela que a instância reconhece como seu administrador. Nenhuma senha, hash de senha ou token é impresso. Em uma instância onde ninguém criou uma conta ainda, ela informa que a instância não tem administrador.

Criar uma conta pelo console

Para criar uma conta sem passar pelo cadastro no navegador, por exemplo a partir de um script de deploy, execute o comando no servidor onde o Databasus está rodando:

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

O comando aceita os seguintes parâmetros:

  • --email: o endereço de e-mail da nova conta. Precisa ser um endereço válido.
  • --password: a senha da nova conta, com pelo menos 8 caracteres.
  • --role: admin ou member.
  • --name: um nome de exibição opcional. Sem ele, a conta recebe como nome a parte do endereço antes do @.

A conta já nasce ativa e entra com esse endereço e essa senha, mesmo que o cadastro aberto esteja desligado. Em uma instância que ainda não tem nenhuma conta, a conta criada passa a administrar a instância, por isso a primeira precisa usar --role=admin. Administradores criados assim mais tarde são administradores comuns.

Rodar o comando de novo para uma conta que já existe com o mesmo papel termina com sucesso e não altera nada, então um deploy pode executá-lo a cada rollout. Nesse caso a senha também não muda: para trocá-la, use o comando de redefinição com --new-password descrito acima. Se o endereço pertencer a uma conta com outro papel, a uma conta desativada ou convidada, ou a uma conta que entra pelo Google ou pelo GitHub, o comando falha sem alterar nada.

Parar de pedir um código no login

Uma instância pode exigir, além da senha, um código de seis dígitos enviado por e-mail no login. Se o servidor de e-mail parar de entregar esses códigos, ninguém entra com senha, e redefinir a senha sozinho não resolve. Desligue o segundo fator no servidor onde o Databasus está em execução:

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

O comando informa se mudou alguma coisa, termina sem reclamar quando o segundo fator já está desligado e registra a mudança no log de auditoria. O próximo login por senha dispensa o código, e um administrador pode ligar a opção de novo assim que o e-mail voltar a funcionar.