admin密码忘记了怎么办|直接修改服务器配置文件可快速重置
前段时间维护公司后台的时候,突然撞见最尴尬的状况,忙活半天登录系统,才发现admin密码忘记了怎么办,试了脑子里所有常用密码,全都是提示错误,连续输错几次后还直接锁定了登录端口,瞬间卡在工作节点上,进退两难。当时手边没有预留密码备份,也没人能远程协助,只能自己一点点摸索实操办法,踩了好几个无效的坑,最后靠最直接的本地配置修改方式搞定,全程都是实打实的实操步骤,没有半点虚的。
最先尝试的是网上最常见的验证码找回方式,想着大部分后台都有忘记密码的自助入口。点开登录页的找回按钮后,页面跳转到邮箱验证界面,输入了绑定的管理员邮箱,反复点击发送验证码,页面一直显示发送成功,但收件箱里从头到尾都没有收到任何邮件。来回刷新、检查垃圾邮件箱、核对邮箱地址,折腾了二十多分钟,依旧没有任何消息。后来才反应过来,很多自建服务器的后台系统,邮件推送服务本身就没配置,自助找回功能只是个摆设,根本没法用,纯纯浪费时间。
抱着侥幸心理,尝试了暴力破解的简单方式。把日常所有办公密码、初始密码、常用组合密码挨个输入,前后试了二十多个组合,不仅全部失败,还触发了系统的安全防护机制,直接封禁了当前设备的登录IP,短时间内完全无法访问后台登录页面。那一刻特别烦躁,明明只是忘了一串字符,硬生生卡住了一整个工作流程,原本计划好的后台数据整理工作,彻底停滞下来。
放弃了线上自助的所有方式,转而从服务器根源入手解决。这次没再瞎试,直接登录了网站对应的云服务器,打开后台系统的根目录文件夹。绝大多数PHP搭建的后台、网站管理系统,都会把管理员账号密码存储在数据库配置文件里,密码经过简单加密,能够直接替换重置,不需要解密原密码。
找到系统根目录下的数据库配置文件,不同系统文件名略有区别,一般是config.php、database.php这类命名,用记事本打开文件后,往下翻就能看到数据库账号、密码、后台管理员配置等字段。重点找到admin账号对应的密码加密代码,不用纠结原本的密码是什么,直接替换成通用的MD5加密密码串,保存文件后刷新服务器缓存,整个操作流程不到十分钟。
这里有个很关键的细节,随便设置新密码后,一定要在线生成对应的32位MD5加密字符串,不能直接输入明文密码,不然系统识别不到,依旧无法登录。当时随手设置了简单的新密码,复制加密字符串替换掉文件里的旧密码代码,保存关闭文件,重新打开后台登录页面,输入admin账号和新设置的密码,一次性登录成功,全程没有任何报错。
登录后台第一时间,就进入系统的安全设置界面,把临时重置的简单密码改成了复杂度更高的组合密码,同时绑定了备用验证方式,避免后续再出现同款问题。
折腾这一次才发现,很多人纠结找回原密码,其实完全没必要。忘记admin密码不用死磕找回,直接重置是最高效的方式,绝大多数自建后台都适配这种方法,适配范围远比线上找回功能要广。
关掉服务器文件窗口的时候,电脑右下角弹出了工作群的消息提醒,盯着空白的聊天框,只觉得刚才半小时的瞎折腾,完全是没必要的内耗。