Smail/docs/超级管理员安全验证与本机重置.md
smail b9d81bba3d
Some checks are pending
Security Checks / security (push) Waiting to run
优化管理员重置验证输入显示
2026-09-19 21:44:53 +08:00

2.6 KiB
Raw Permalink Blame History

超级管理员安全验证与本机重置

登录后的强制设置

超级管理员必须至少配置以下一种方式:

  • 外部邮箱:完成绑定验证码验证,待验证邮箱不计入。
  • 手机动态码:完成 TOTP 绑定并启用,已撤销或未确认绑定不计入。
  • 安全码:生成并保存,至少保留一个未使用的有效安全码。

三种方式均未配置时,登录后只能进入安全设置或注销,不能跳过进入业务页面,后端业务接口也会拒绝请求。完成任意一种后解除限制;撤销最后一种时恢复限制。已有有效方式的账号无需重复设置。

管理员和普通用户仍按原规则提示设置安全码和邮箱,本次不强制要求所有账号启用 TOTP。

部署主机重置流程

在部署主机以 root 执行:

systemctl start smail-admin
  1. 输入可用验证方式的序号。仅显示已配置且有效的方式,输入的序号会正常显示。
  2. 选择邮箱后才发送验证码;选择动态码或安全码不发邮件。
  3. 输入邮箱验证码、手机验证器动态码或一个安全码,验证内容会正常显示,便于核对。
  4. 验证通过后,输入两次新密码;只有密码输入不显示。
  5. 事务成功后旧会话失效,旧安全码和协议凭据撤销。已绑定邮箱和 TOTP 保留。

未绑定邮箱时可以使用 TOTP 或安全码。若唯一方式是安全码,重置后重新登录会要求再次配置安全方式。新安全码只展示一次,请妥善保存。

每轮连接最多五分钟,本机验证每十五分钟最多尝试五次,重新启动客户端不会刷新次数。失败后重新启动命令;不能跳过验证直接提交密码。若命令失败,可用 journalctl -u smail-admin -n 20 --no-pager 查看中文原因。

尚无任何安全凭据时,请先用现有密码登录安全中心配置。已经无法登录且没有任何有效凭据时,本通道不会免验证重置。

通道边界与升级

登录页继续禁止重置超级管理员。本人已登录的安全中心操作遵守现有认证要求;部署端重置只使用受保护的本机 IPC,不新增 HTTP 或 TCP 入口。

Linux 使用 Unix Domain Socket 及对端身份校验,Windows 使用受限 Named Pipe。邮箱验证码使用独立的本机重置用途,不能经公开验证码接口申请或验证。验证会绑定当前账号与凭据版本,更换或撤销所选凭据后不能继续重置。

本次协议升级到第二版,部署时必须同时替换主程序和 smail-admin,并同步更新 systemd 单元的超时时间。第一版客户端不能跳过新验证流程。