2.7 KiB
2.7 KiB
密码恢复实机验收
本轮需求
- [~] 管理员、普通用户通过已验证外部邮箱及离线安全凭据恢复密码。
- [~] 超级管理员登录后通过外部安全邮箱验证码修改密码。
- [~] 超级管理员通过部署端受保护本机通道重置密码。
- 管理员、普通用户的一次性恢复页面复用现有 Web 域名和 HTTPS 证书,固定入口为
https://Web域名/rest/。
当前实现边界
- 普通用户邮箱恢复通过后可以设置新密码。
- 管理员邮箱恢复通过后仍需要未使用的离线恢复码。
- 离线恢复需要密保问题、密保答案和离线恢复码,不是只填写一个安全码。
- 超级管理员不能通过公开忘记密码接口恢复。登录后安全中心使用已验证外部邮箱验证码改密。
- 公开恢复邮件由
no-reply@主邮件域名发送,邮件中的一次性链接使用 Web 域名,不再配置独立恢复域名或额外证书。 - 旧
adminRecovery配置仅保留兼容读取,不在配置页面展示,也不参与恢复路由和证书域名计算。 - 改密成功会使旧会话和相关恢复、客户端凭据失效;测试后需要重新配置下一轮所需凭据。
Linux 本机通道部署整改
- 部署根目录为
/opt/smail,配置、证书、数据和日志保持原位置。 - 主服务使用
smail系统账户,低端口仅通过CAP_NET_BIND_SERVICE授权。 smail-admin使用 root 和系统服务上下文,仅通过/run/smail/admin-control.sock通信。- 恢复服务不允许开机自动运行,且只允许向本机密码代理临时目录写入交互请求。
- 安装前拒绝覆盖运行中程序,旧程序和服务文件备份到
/var/backups,不覆盖业务配置、数据库或证书。
部署人员在可信终端执行 systemctl start smail-admin,并按密码代理提示无回显输入两次新密码;如终端没有收到提示,可在另一个可信终端执行 systemd-tty-ask-password-agent --query。不得把密码放到命令行、环境变量或日志里。
验收说明
Web 功能使用 MCP 模拟键鼠测试;终端用于源码检查、构建、部署、授权范围内的数据备份清理以及本机重置工具本身的交互,不调用业务 API 代替页面验收。2026 年 9 月 16 日用户已授权清理测试数据,本轮限定在 yunx-test,先备份所有测试数据库再清空,保留数据库文件并重新执行初始化。不得将此授权扩大到其他部署环境。
具体测试结果记录到 test-log/日期/测试log;收到验证码、页面提示请求已受理、构建成功均不单独等于密码恢复闭环完成。
本轮结果见《清库部署测试记录》。