童话的爱
发布于 2021-12-11 / 1458 阅读

[Cloudreve 踩坑] 当你忘记管理员密码且没法通过邮件重置时(适用于docker 下使用Mariadb数据库的Cloudreve)

PS:如果服务器上有其他管理员账号你可以让他们在后台更改你的密码
PSS:没有试过Cloudreve 捐赠版,可能这篇文章不适合捐赠版

首先

先尝试在服务器终端下运行

docker exec -it 你的容器id /cloudreve/cloudreve-main --database-script ResetAdminPassword

之后会有提示如下面这样:

如果你拿着你服务器提示的密码能够登录的话,恭喜!

如果还是不行,你可以试试修改数据库中的表来更改密码

注意以下步骤涉及到直接修改数据库,建议开始之前先备份!

正文

  1. 首先注册一个新的账户(如果关闭了注册则看文章最后),然后登录这个账户
  2. 登录到数据库中,找到Cloudreve 的数据库下的users 表
  3. 找到你刚刚注册的账户,然后更改他的group_id 字段的id 为管理员组的id(在我这里是更改为1,如果你不知道你要改成什么就去groups 表中看管理员的id 是多少。如果没有修改过组设置的话一般都为1)
  4. 之后就可以登录这个账户,在右上角头像-> 管理面板-> 用户-> 修改你原先的管理员账号,然后就可以更改密码了。

写在最后

如果关闭了注册可以在表settings 中找name 字段为register_enabled 的记录,然后再找这条记录的value 字段的值,将其值设为1,就可以启用注册了(可千万别改错了,建议更改表前先备份!

弄了好一段时间才解决了这个奇怪的问题,毕竟之前一直用浏览器记住的密码登录的,今天突然就不行了(