From a2dc52b4420d454204c153648d316509b319402d Mon Sep 17 00:00:00 2001 From: xuans Date: Mon, 5 Oct 2026 00:41:42 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=B0=E5=BD=95Linux=E5=8A=A0=E9=80=9F?= =?UTF-8?q?=E6=95=B4=E6=94=B9=E4=B8=8E=E7=AC=AC=E4=BA=8C=E5=8F=B0=E6=B8=85?= =?UTF-8?q?=E7=90=86=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新Linux/Web任务清单、第二台部署包清理与SSH测试配置清理证据,记录本地回归结果及第一台SMTP重置阻塞。 --- doc/Linux生产流程测试记录.md | 28 ++++++++++++++++++++++++++++ doc/Scert整改任务执行清单.md | 21 +++++++++++++++++++++ doc/Scert整改合并优化清单.md | 19 +++++++++++++++++++ 3 files changed, 68 insertions(+) diff --git a/doc/Linux生产流程测试记录.md b/doc/Linux生产流程测试记录.md index d8cb5a2..4d2d216 100644 --- a/doc/Linux生产流程测试记录.md +++ b/doc/Linux生产流程测试记录.md @@ -2936,3 +2936,31 @@ SQLite 新测试程序 SHA-256:4c81656fae63a2eebad999d58e6a79e63e6f441810e02ce - [ ] 真实系统发信、验证码、本机重置、新密码登录、正式 SSL 推送及最终生产复审。 本节不记录任何通知凭据内容,不宣称第一台邮件或总体生产上线已通过。 + +## 2026年10月4日 Linux 加速整改实测记录 + +### 本地回归 + +- [✓] `backend` 执行 `go test -count=1 ./...`,全量通过。 +- [✓] `backend` 执行 `go vet ./...`,通过。 +- [✓] `frontend` 执行 `npm.cmd test`,338 项通过、0 失败、0 跳过。 +- [✓] `frontend` 执行 `npm.cmd run build`,Vite 生产构建通过。 + +### 第二台 `45.136.13.241` + +- [✓] 通过已核对主机身份的 root SSH 会话复核:`/scert`、`/etc/scert-nginx`、`/usr/local/libexec/scert-nginx`、`/var/lib/scert-nginx` 和 `/ssl/scert` 均不存在;空的 `/ssl/scert` 已按本轮清理授权移除。 +- [✓] `/root`、`/tmp`、`/var/tmp`、`/opt`、`/srv`、`/etc`、`/usr/local` 限定范围未发现本项目部署包、解包目录或归档;Scert 进程、systemd 单元和 `8443/8080/9000` 监听均不存在。 +- [✓] 删除两个项目专用 SSH 测试配置后 `sshd -t` 通过;没有重载 SSH。 +- [✓] `nginx -t` 通过;PMail、共享 MySQL、现有 Nginx 和业务证书未修改。 +- [✓] `/ssl/acceptance-0928.odacm.cn/single/` 下 3 个受保护 `.scert-lock` 目录及其 `owner` 文件仍存在,本轮未删除、改名或改写。 + +### 第一台 `8.137.23.95` + +- [✓] `Scert.service`、`Scert-storage.socket`、Nginx、MySQL active;Scert 仅监听 `127.0.0.1:8443`,MySQL 仅监听回环地址。 +- [!] 通过 `systemctl start Scert-admin` 进入正式本机管理菜单并选择密码重置后,服务报告“本机重置请求无效或已失效”;只读配置核对为 `smtp_enabled=false`、SMTP 主机和用户名为空。 +- [!] 浏览器登录仍返回“账号或密码错误”;没有修改登录凭据,密码框已清空。 +- [ ] 第一台正式 SMTP 配置、真实系统通知、验证码、本机重置和新密码登录。 + +### 本节结论 + +本轮 Linux 源码、前端和生产构建检查通过,第二台已清理项目部署痕迹且保留受保护恢复锁;第一台通知配置和正式管理会话仍未完成,不能宣称总体生产上线通过。Windows 环境不在本轮范围。 \ No newline at end of file diff --git a/doc/Scert整改任务执行清单.md b/doc/Scert整改任务执行清单.md index db86896..e6a5ce0 100644 --- a/doc/Scert整改任务执行清单.md +++ b/doc/Scert整改任务执行清单.md @@ -2836,3 +2836,24 @@ P0-05 从 `[!]` 调整为 `[~]`,并未标记完成;P0-04 剩余门禁和全 - [ ] T5:三数据库首次 Web、DNS/ACME、公网 HTTPS/SNI 和最终生产复审。 当前任务状态:Smail 授权子项完成等待复审,第一台 Scert 正式配置仍等待有效管理会话;Windows 不纳入本轮。 + +## 2026年10月4日 Linux 加速执行结果 + +### 任务清单 + +- [✓] L1:阅读整改合并清单并确认 Linux/Web 范围、双机职责和生产验收边界。 +- [✓] L2:后端全量回归 `go test -count=1 ./...`。 +- [✓] L3:后端静态检查 `go vet ./...`。 +- [✓] L4:前端 338 项测试和生产构建。 +- [✓] L5:第二台部署包清理复核;删除空 `/ssl/scert`,确认没有 Scert 包、解包目录、归档、进程或专用监听。 +- [✓] L6:删除第二台两个项目专用 SSH 测试配置,`sshd -t` 通过;不重载 SSH,不触碰共享业务配置。 +- [✓] L7:复核第二台受保护 `.scert-lock` 目录仍在,未手工删除或改写。 +- [!] L8:第一台 `Scert-admin` 正式本机重置因 SMTP 尚未配置而被服务拒绝;第一台 Web 有效超级管理员会话仍缺失。 +- [ ] L9:通过第一台正式 Web 设置保存 Smail SMTP 参数并只读核对非敏感配置状态。 +- [ ] L10:真实系统发信、验证码送达、本机重置和新密码登录闭环。 +- [ ] L11:正式 SSL 推送到第二台、Nginx 检查与重载、受控失败回滚、恢复指纹和同幂等键重试。 +- [ ] L12:三数据库清库后的首次 Web、重启持久化、DNS/ACME、公共 HTTPS/SNI 和最终生产复审。 + +### 复核边界 + +本轮没有把构建成功、HTTP 健康检查、SSH 登录成功或第二台清理结果扩大为总体上线结论;Windows 环境不在本轮范围。任何密码、验证码、SMTP 凭据和私钥均未写入任务清单、日志或仓库。 \ No newline at end of file diff --git a/doc/Scert整改合并优化清单.md b/doc/Scert整改合并优化清单.md index 06b20b4..d534165 100644 --- a/doc/Scert整改合并优化清单.md +++ b/doc/Scert整改合并优化清单.md @@ -3454,3 +3454,22 @@ P0-11 生产验收门禁 - [ ] 正式 SSL 推送及第二台回滚矩阵、三数据库首次 Web、DNS/ACME 和最终生产复审。 当前结论:Smail 系统通知授权已建立,但第一台 Scert 仍需有效 Web 管理会话才能完成正式配置;总体上线门禁继续未关闭。 + +## 2026年10月4日 Linux 加速整改与第二台清理复核 + +### 本轮任务状态 + +- [✓] 已重新阅读本清单并保持范围为 Linux/Web;第一台 `8.137.23.95` 继续用于部署测试,第二台 `45.136.13.241` 仅用于 SSL 推送测试,不安装 Scert。 +- [✓] 后端 `go test -count=1 ./...`、`go vet ./...`、前端 338 项测试和前端生产构建全部通过。 +- [✓] 第二台 `/scert`、Scert 辅助目录、Scert 进程、`8443/8080/9000` 监听、限定范围部署包和归档均不存在;空的 `/ssl/scert` 已移除。 +- [✓] 第二台项目专用 SSH 测试配置已移除:`99-scert-password-only.conf`、`99-scert-pubkey.conf`;删除后 `sshd -t` 通过,未重载 SSH。 +- [✓] 第二台 Nginx 配置检查通过,PMail、共享 MySQL、现有 Nginx 和业务证书未操作;`/ssl/acceptance-0928.odacm.cn/single/` 下受保护 `.scert-lock` 目录及其 `owner` 文件仍保留,未删除、改名或改写。 +- [!] 第一台通过正式 `Scert-admin` 本机交互尝试重置时,因 `notification.smtp_enabled=false` 且 SMTP 主机、用户名为空,重置请求被服务拒绝;没有修改数据库、密码或配置。 +- [!] 第一台 Web 使用当前 SSH 密码登录仍返回“账号或密码错误”,密码框已清空;不能据此替代有效超级管理员会话。 +- [ ] 第一台正式 SMTP 保存、真实系统发信、验证码、本机重置和新密码登录。 +- [ ] 正式 SSL 推送、Nginx 重载、受控失败回滚、恢复指纹和幂等重试。 +- [ ] 三数据库清库后的首次 Web、DNS/ACME 正负向矩阵、公共 HTTPS/SNI 和最终生产复审。 + +### 当前结论 + +本轮源码回归、Linux 生产构建和第二台清理均有实测证据;第一台 SMTP 与有效管理会话仍未完成,整体生产上线门禁继续保持未关闭。第二台受保护恢复锁不属于部署包,继续保留并等待正式人工处置流程。 \ No newline at end of file