🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
>[danger] **弃用提醒:** > *由于看云对于免费用户的限制愈发严苛,本文档已经迁移至语雀。本文档将不做维护。* > **语雀地址**:[https://www.yuque.com/a632079/nodebb](https://www.yuque.com/a632079/nodebb) ***** # 重置管理员密码 [TOC] ## 一.通过电子邮件重置 > 前提:之前为管理员填写了电子邮件并且邮件服务器设置没有问题能正常收发邮件 ## 二.使用redis数据库的管理员密码重置 ### 能注册新用户 有root权限 1. 正常创建一个用户 记住用户名。 2. 进入redis-cli,找到管理组的gid。 ``` > hget group:gid administrators ``` 3. 获取新用户的uid ``` > hget username:uid <username> ``` 4. 将新用户的uid添加到管理组。 ``` > sadd gid:<replace with value from step 1>:members <replace with value from step 2> ``` (原理:创建另一个帐户,并从redis-cli给予管理员权限 然后使用此新管理员更改原始帐户的密码。) ### 不能创建新用户 试试以下指令: ``` > hset config allowRegistration 1 ``` (然后按照 能注册新用户 部分做) ### 使用管理员重置密钥重置密码 (前提:不能注册新用户 有root权限) 1.转到 `http://url/reset` 并键入您的电子邮件。它不会发送密码重置电子邮件,但会生成一个密钥。此密钥在2小时后过期。 2.进入redis控制台。如果Redis的安装在不同的端口,主机或代理上,使用-p,-h和-s参数来区分 ``` $ rootredis-cli ``` 3.找到与您的uid相对应的重置ID 然后转到 `http://url/reset/{reset-uid}` 来重置密码 ``` > hgetall reset:uid ``` ## 三.使用mongodb数据库的管理员密码重置 ### 能注册新用户 有root权限 1. 进入mongodb数据库管理 ``` $ mogo ``` 2. 显示集合 ``` > show collections ``` 3. 查找新用户的uid ``` > db.objects.find({“_key”:“username:uid”}) ``` 4. 在管理员组中查找成员ID ``` db.objects.find({ “_key”:“group:administrators:members”}) ``` 5. ”3“是我的uid :) 将3替换为刚刚查找到的uid(根据自身修改) ``` db.objects.update({“_ id ”:ObjectId(“54022b7f60757d4944a05931”)},{“_key”:“group:administrators :member“,”members“:[”1“,”2“,”3“]},{upsert:true} ``` ### 什么??使用mongodb数据库而且不能注册新用户? > 参考 Redis 部分 ## 其他方法 >将你想要的密码用base64加密 进入数据库将管理员的密码替换 --------- >[info] 编写: [Starry](https://community.nodebb-cn.org/user/starry) 维护: a632079 审核: PA Team 最后更新: 2017.08.14