重置用户密码
重置密码命令
要重置用户密码,在运行 Databasus 的服务器上执行以下命令:
docker exec -it databasus ./main --new-password="YourNewSecurePassword123" --email="owner@example.com"参数
命令接受以下参数:
- --new-password:新密码,至少 8 个字符。请确保密码足够安全,包含字母、数字和特殊字符。
- --email:要重置密码的账户邮箱(例如
owner@example.com)。在第一个账户成为管理员之前创建的实例, 在其所有者替换之前仍使用占位地址admin,此时请传入admin。
列出管理员账户
如果你不记得哪个地址是该实例的管理员,可以在运行 Databasus 的服务器上列出管理员账户:
docker exec -it databasus ./main --list-admins输出会列出每个管理员账户的邮箱、显示名称、创建日期和活动状态,并标记实例所认可的管理员。不会输出任何密码、密码哈希或令牌。如果实例上还没有人创建账户,命令会提示该实例没有管理员。
通过控制台创建账户
如果不想在浏览器里注册,比如要用部署脚本开通账户,可以在运行 Databasus 的服务器上直接创建:
docker exec -it databasus ./main --create-user --email="ops@example.com" --password="YourSecurePassword123" --role=admin命令接受以下参数:
- --email:新账户的邮箱,必须是有效的邮箱地址。
- --password:新账户的密码,至少 8 个字符。
- --role:
admin或member。 - --name:可选的显示名称。不传时,账户名取邮箱中
@之前的部分。
账户创建后立即生效,无论是否开放注册,都可以用这个邮箱和密码登录。如果实例上还没有任何账户,新建的账户就是该实例的管理员,所以第一个账户必须使用 --role=admin。之后用这种方式创建的管理员只是普通管理员。
对同一角色的已有账户再次运行命令会成功结束,但不做任何改动,所以部署流程可以在每次上线时都运行它。这时密码也不会改变:要更换密码,请使用上面的 --new-password 重置命令。如果该邮箱属于另一角色的账户、已停用或仍在邀请中的账户,或者通过 Google 或 GitHub 登录的账户,命令会失败,也不做任何改动。
不再要求登录验证码
实例可以在密码之外,要求输入通过邮件发送的六位登录验证码。如果邮件服务器不再送达这些验证码,谁都无法用密码登录,单靠重置密码也不管用。请在运行 Databasus 的服务器上关掉第二重验证:
docker exec -it databasus ./main --disable-2fa命令会说明它是否改动了设置,第二重验证本来就关着时也会正常结束,并把这次改动写入审计日志。之后的密码登录不再需要验证码;等邮件恢复正常,管理员可以重新打开该设置。