Réinitialiser le mot de passe d'un utilisateur

Commande de réinitialisation du mot de passe

Pour réinitialiser le mot de passe d'un utilisateur, utilisez la commande suivante sur le serveur où Databasus est en cours d'exécution :

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

Paramètres

La commande accepte les paramètres suivants :

  • --new-password : le nouveau mot de passe, d'au moins 8 caractères. Assurez-vous qu'il est robuste et contient un mélange de lettres, de chiffres et de caractères spéciaux.
  • --email : l'adresse e-mail du compte dont vous voulez réinitialiser le mot de passe (par exemple owner@example.com). Une instance créée avant que le premier compte ne l'administre porte encore l'adresse provisoire admin tant que son propriétaire ne l'a pas remplacée : indiquez alors admin.

Lister les comptes administrateurs

Si vous ne savez plus quelle adresse administre l'instance, listez les comptes administrateurs sur le serveur où Databasus tourne :

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

La sortie nomme chaque compte administrateur avec son adresse e-mail, son nom affiché, sa date de création et son état d'activité, et marque celui que l'instance reconnaît comme son administrateur. Aucun mot de passe, empreinte de mot de passe ni jeton n'est affiché. Sur une instance où personne n'a encore créé de compte, elle indique que l'instance n'a pas d'administrateur.

Créer un compte depuis la console

Pour ouvrir un compte sans passer par l'inscription dans le navigateur, par exemple depuis un script de déploiement, créez-le sur le serveur où Databasus tourne :

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

La commande accepte les paramètres suivants :

  • --email : l'adresse e-mail du nouveau compte. Elle doit être valide.
  • --password : le mot de passe du nouveau compte, d'au moins 8 caractères.
  • --role : admin ou member.
  • --name : un nom affiché, facultatif. Sans lui, le compte prend le nom de la partie de l'adresse située avant le @.

Le compte est actif tout de suite : il se connecte avec cette adresse et ce mot de passe, que l'inscription libre soit activée ou non. Sur une instance qui n'a encore aucun compte, le compte créé administre l'instance, donc le premier doit utiliser --role=admin. Un administrateur créé plus tard de cette façon est un administrateur ordinaire.

Relancer la commande pour un compte existant avec le même rôle réussit sans rien modifier : un déploiement peut donc l'exécuter à chaque mise en production. Le mot de passe reste alors inchangé ; pour le renouveler, utilisez la commande de réinitialisation --new-password décrite plus haut. Si l'adresse appartient à un compte d'un autre rôle, à un compte désactivé ou invité, ou à un compte qui se connecte via Google ou GitHub, la commande échoue et ne change rien.

Cesser de demander un code à la connexion

Une instance peut exiger, en plus du mot de passe, un code à six chiffres envoyé par e-mail à la connexion. Si le serveur de messagerie cesse de délivrer ces codes, plus personne n'entre avec un mot de passe, et réinitialiser le mot de passe n'y change rien. Désactivez le second facteur sur le serveur où Databasus tourne :

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

La commande indique si elle a changé quelque chose, se termine sans se plaindre quand le second facteur est déjà désactivé, et inscrit le changement au journal d'audit. La prochaine connexion par mot de passe se passe alors de code, et un administrateur pourra réactiver le réglage dès que la messagerie refonctionnera.