host
7cba3c2b21
fix(chv-muse-r12fix3-2): worker socket 组权限 + allowed_uids 含 chv(P6 缺口 ②)
R12 复测 2 钉死:即使 worker active,chv 客户端也永远连不上
socket——worker root + 目录 /run/chv-gitea 0700 root + socket
0600 root + allowed_uids=(0,) 三处锁死;chv ping 一律 EACCES
(rc=2),root ping rc=0,privsep_worker_call 恒为 0,全部同步
走回落。
修法:三处配套改,只改一处仍锁死——
1. chv-gitea-worker.py:DEFAULT_ALLOWED_UIDS=(0, 1000)(root +
chv;round-11 authd 同款;环境变量
CHV_GITEA_WORKER_ALLOWED_UIDS 可覆盖);socket 用 group 权限
(目录 0750、socket 0660、组为第一个非 root 放行 uid 的主组,
_socket_group_gid/_set_group_perms 与 authd 同款实现;gid
解析不出时回落 root-only 0700/0600,绝不放给全员)。
拒绝 0666 探针口径。
2. build.sh tmpfiles.d:d /run/chv-gitea 改为 0750 root 1000,与
新方案一致。gid 写数字 1000 而不用组名 chv——tmpfiles-setup
跑在 07:23:24,chv 用户由 cloud-init 在 07:23:40 才建,组名
当时解析不出;1000 是 chv 的 uid/gid(seed users 块未指定
uid/gid,cloud-init 取首个空闲 1000;authd 同款假设)。
worker 启动时再按 passwd 重新推导 gid 并重设权限,tmpfiles
行只是开机存在性保证。审计日志仍 0600 root,不动。
3. 服务单元 ReadWritePaths 不动(/run/chv-gitea 仍在列,存在性
由 tmpfiles 保证)。
注意:单元内 agent 同样映射为 chv uid 1000,故也能走到 socket,
但只能走类型化协议——操作白名单、仓库 confinement、安全扫描三
处仍在,worker 不持凭证(见 worker 模块注释)。
测试:WorkerSocketGroupPermsTest 新增 7 项——默认白名单含
(0,1000)、环境变量覆盖、gid 可推导时 0750/0660 + 组正确、显式
socket_group 时同样组权限、只有 root 时回落 0700/0600、gid 推导
函数四档、tmpfiles 行 0750 root 1000;WorkerUnitTmpfilesTest 的
/run/chv-gitea 期望改 0750。P6/round12/P2/P4 四模块 205 项全过。
2026-11-08 09:48:16 +00:00
..
2026-10-28 12:12:10 +08:00
2026-10-30 01:16:49 +08:00
2026-11-06 23:03:06 +00:00
2026-11-06 21:31:48 +00:00
2026-11-06 21:31:48 +00:00
2026-11-07 10:30:45 +00:00
2026-11-07 04:00:04 +00:00
2026-11-07 18:24:58 +00:00
2026-11-06 22:25:55 +00:00
2026-11-08 09:48:16 +00:00
2026-11-06 22:39:04 +00:00
2026-11-07 00:36:25 +00:00
2026-11-06 23:03:06 +00:00
2026-11-07 00:09:55 +00:00
2026-11-06 22:42:30 +00:00
2026-11-07 00:36:25 +00:00
2026-11-07 01:13:05 +00:00
2026-10-26 01:32:57 +08:00
2026-10-29 23:16:01 +08:00
2026-10-28 12:12:10 +08:00
2026-10-30 07:15:05 +08:00
2026-10-30 14:46:11 +08:00
2026-10-28 04:56:22 +08:00
2026-10-28 06:10:02 +08:00
2026-10-28 04:33:20 +08:00
2026-10-30 01:41:34 +08:00
2026-10-28 17:26:31 +08:00