Files

27 lines
2.0 KiB
Markdown

# 1.0.2 SSH 与 sudo 真实验收修复
## 真实设备发现
- 配置账户关闭 SSH agent 后可用镜像密码实际登录,SSH、网页和控制服务均已运行。
- `sudo -n` 正确拒绝免密,但输入配置账户密码仍被拒绝,并出现主机名解析延迟。
- 最终 IMG 的 rootfs 只读检查确认供应商 `/etc/sudoers` 在 `@includedir` 之后设置了 `Defaults rootpw`,并保留旧 `pi ALL=(ALL) NOPASSWD:ALL`;因此此前仅增加 sudo 组和 drop-in 规则不足以满足“同一账户密码、不得免密”。
## 修复
- 首启账户阶段原子移除供应商 `Defaults rootpw` 和旧 `pi NOPASSWD` 行。
- 继续创建模式 `0440` 的配置账户 `ALL=(ALL:ALL) ALL` drop-in,并在替换前后运行 `visudo` 校验。
- 身份阶段同步 `/etc/hosts` 中 `127.0.1.1` 的主机名,消除 sudo 解析警告和等待。
- 当前真实设备使用供应商官方公开的基础镜像 root 凭据执行一次受控迁移;未开启 root SSH、未改变配置账户密码,临时脚本随后删除。
## 验收结果
- 禁用本机 SSH agent 后,配置账户密码登录通过。
- `sudo -n` 被拒绝;输入同一配置账户密码后取得 UID 0,完整 root 命令通过。
- `visudo -c` 通过,活动 sudoers 不含 `rootpw` 或 `NOPASSWD`,主机名可立即解析。
- `sshd -T` 的密码认证、空密码、键盘交互和 root 登录策略全部符合要求;使用供应商 root 密码的实际 root SSH 登录被拒绝。
- SSH、控制服务、网页、真实 H618 驱动和网络状态正常;再次重启后启动时长、SSH、控制服务和主机名解析复验通过。
- 聚焦 Python 测试 13 项通过;完整 Python 回归 306 项通过、8 项跳过;Node 回归 61 项通过;shell 语法通过。
- 最终 IMG 仅刷新 FAT 载荷,配置双槽逐字节保留,ext4 分区 SHA-256 保持不变,bundle 敏感路径扫描通过。
本归档不记录账户、密码、IP、主机密钥或设备身份值。此前 1.0.2 哈希均已被最终正式哈希取代,不得继续发布。