Lsky忘记邮箱和密码,重置密码操作
🔒 如何修改 Lsky Pro 管理员密码
在使用 Lsky Pro(一个开源图床系统)时,有时我们可能忘记了管理员邮箱和密码。本文将详细介绍 在 Docker 容器下获取管理员邮箱和修改密码 的完整流程。
📝 背景
- 系统:Lsky Pro
- 部署方式:Docker Compose
- 语言:PHP (Laravel 框架)
- 数据库:MySQL
- 密码存储:Laravel 的
bcrypt
哈希
注意:直接修改数据库中的密码字段需要使用 Laravel 的 bcrypt 哈希,否则无法登录。
🔧 修改密码步骤
1️⃣ 进入 Lsky Pro 容器
首先列出 Docker 容器,找到 Lsky Pro 容器名称(假设为 lsky
):
docker ps
然后进入容器:
docker exec -it lsky bash
此时你已经进入了容器的 Shell 环境。
2️⃣ 使用 Laravel Tinker 修改密码
Laravel 提供了 Tinker 工具,可以直接操作模型和数据库。
- 进入项目目录(通常为 /var/www/html):
cd /var/www/html
- 启动 Tinker:
php artisan tinker
- 在 Tinker 中执行以下命令修改管理员密码(假设管理员 ID 为 1,密码设置为 123456):
$user = \App\Models\User::find(1); // 查看管理员用户邮箱
$user->password = bcrypt('123456'); // 设置新密码
$user->save(); // 保存修改
- 在Tinker 中验证明文密码是否匹配哈希:
Hash::check('123456', '$2y$10$PMDLiwKMR2FLrhiGmdCmOu5xYWYeeZ/Cpp1UrWlvhQivIUOm./bI6');
输出:
=> true
表示密码 123456 已正确生效。
- 退出 Tinker:
exit
3️⃣ 核对数据库中的密码哈希
去 MySQL 数据库 核对密码是否一致:
- 进入 MySQL 容器:
docker exec -it lsky-db bash
- 使用 root 用户登录 MySQL:
mysql -u root -p
输入 root 密码。
- 切换数据库:
USE lsky;
PS
:用户名和root密码在docker-compose.yml内
- 查询用户密码哈希:
SELECT id, name, password FROM users WHERE id = 1;
输出示例:
id name password
1 超级管理员 $2y$10$PMDLiwKMR2FLrhiGmdCmOu5xYWYeeZ/Cpp1UrWlvhQivIUOm./bI6
🔹 如果数据库里的哈希值和 Tinker 输出的哈希值一致,则说明密码修改成功。
4️⃣ 验证登录
修改密码并核对哈希值后,重新访问 Lsky Pro 登录界面,使用新密码 123456 进行登录。
如果登录失败,请注意以下事项:
确认访问的是正确的数据库和容器环境
确认用户状态 status 为 1(启用)
你可以在 Tinker 中检查:
$user->status
如果返回值不是 1,请执行:
$user->status = 1;
$user->save();
✅ 总结
通过本文步骤,你可以在 Docker 容器中安全地修改 Lsky Pro 管理员密码:
- 进入 Docker 容器
- 使用 php artisan tinker 修改密码
- 保存并核对数据库中密码哈希值
- 确认登录成功
提示:使用 Laravel 提供的工具比直接操作数据库更安全,确保密码哈希正确。
本文链接:
/archives/lsky
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
I-Meet!
喜欢就支持一下吧