2.2 KiB
2.2 KiB
密码恢复实机验收
本轮需求
- [~] 管理员、普通用户通过已验证外部邮箱及离线安全凭据恢复密码。
- [~] 超级管理员登录后通过外部安全邮箱验证码修改密码。
- [~] 超级管理员通过部署端受保护本机通道重置密码。
- [!] 独立恢复域名与邮箱主域名联动:待确认是恢复指引入口还是新增网页重置入口,不能在确认前把本机通道暴露到公网。
当前实现边界
- 普通用户邮箱恢复通过后可以设置新密码。
- 管理员邮箱恢复通过后仍需要未使用的离线恢复码。
- 离线恢复需要密保问题、密保答案和离线恢复码,不是只填写一个安全码。
- 超级管理员不能通过公开忘记密码接口恢复。登录后安全中心使用已验证外部邮箱验证码改密。
- 改密成功会使旧会话和相关恢复、客户端凭据失效;测试后需要重新配置下一轮所需凭据。
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 或编写功能测试脚本。保留现有测试业务库,不清空邮件、账号或外部邮箱绑定。
具体测试结果记录到 test-log/日期/测试log;收到验证码、页面提示请求已受理、构建成功均不单独等于密码恢复闭环完成。