From b923d0291bbeb7c6884fd883b37cf33224dbace2 Mon Sep 17 00:00:00 2001 From: host Date: Sun, 8 Nov 2026 04:23:41 +0000 Subject: [PATCH] =?UTF-8?q?fix(chv-muse-r12fix-1):=20/run/chv=20=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E7=BB=84=20chv-browser=20=E5=8F=AF=E5=86=99=EF=BC=88P?= =?UTF-8?q?4=20broker=20=E6=9D=83=E9=99=90=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit R12 真机:/run/chv root 所有 0755,chv-browser 建不了 cdp-broker.sock,chv-cdp-broker bind 报 PermissionError 而 crash-loop,P4 在交付镜像上永远起不来。改为 2775 root chv-browser(setgid,沿用真机手工修复 chgrp + chmod 2775 后全过的口径);绝不用 0666/0777 放宽,与 round-11 authd socket 组权限 0660 同款口径。建目录时的 chmod 与 tmpfiles 登记两处同改。 --- chv-guest/build.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/chv-guest/build.sh b/chv-guest/build.sh index 7fd34de..c0b878c 100755 --- a/chv-guest/build.sh +++ b/chv-guest/build.sh @@ -341,13 +341,19 @@ VC_ARGS=(-a "$OUT/disk.raw" --run-command 'printf "ssh_deletekeys: false\nbootcmd:\n - \"[ -f /etc/ssh/ssh_host_ed25519_key ] || ssh-keygen -A\"\n" > /etc/cloud/cloud.cfg.d/99-chv-hostkey.cfg; systemctl enable ssh || true' --run-command 'printf "PasswordAuthentication no\nPermitRootLogin prohibit-password\nChallengeResponseAuthentication no\nKbdInteractiveAuthentication no\nPubkeyAuthentication yes\n" > /etc/ssh/sshd_config.d/99-chv.conf && mkdir -p /run/sshd && ssh-keygen -A && sshd -t && grep -q "^PasswordAuthentication no" /etc/ssh/sshd_config.d/99-chv.conf && grep -q "^PermitRootLogin prohibit-password" /etc/ssh/sshd_config.d/99-chv.conf && rm -f /etc/ssh/ssh_host_* && test -z "$(ls /etc/ssh/ssh_host_* 2>/dev/null)"' --run-command 'dpkg-query -W -f "\${Package} \${Version}\n" > /app/guest-versions-dpkg.txt; pip3 freeze > /app/guest-versions-pip.txt || true' - --run-command 'useradd --system --home-dir /var/lib/chv-browser --shell /usr/sbin/nologin chv-browser && mkdir -p /var/lib/chv-browser /run/chv/shots /run/chv-browser && chown chv-browser:chv-browser /var/lib/chv-browser /run/chv/shots /run/chv-browser && chmod 0755 /run/chv /run/chv/shots /run/chv-browser' + --run-command 'useradd --system --home-dir /var/lib/chv-browser --shell /usr/sbin/nologin chv-browser && mkdir -p /var/lib/chv-browser /run/chv/shots /run/chv-browser && chown chv-browser:chv-browser /var/lib/chv-browser /run/chv/shots /run/chv-browser && chgrp chv-browser /run/chv && chmod 2775 /run/chv && chmod 0755 /run/chv/shots /run/chv-browser' --run-command 'printf "[Unit]\nDescription=CHV cell broker (Muse P2)\nAfter=network.target\n\n[Service]\nType=simple\nExecStart=/usr/bin/python3 /usr/local/bin/chv-broker\nRestart=on-failure\nRestartSec=2\n\n[Install]\nWantedBy=multi-user.target\n" > /etc/systemd/system/chv-broker.service' --run-command 'printf "[Unit]\nDescription=CHV browser sub-agent (Muse P2)\nAfter=network.target\n\n[Service]\nType=simple\nUser=chv-browser\nGroup=chv-browser\nExecStart=/usr/bin/python3 /usr/local/bin/chv-browser\nRestart=on-failure\nRestartSec=2\n\n[Install]\nWantedBy=multi-user.target\n" > /etc/systemd/system/chv-browser.service' --run-command 'printf "[Unit]\nDescription=CHV CDP broker (Muse P4)\nAfter=network.target\n\n[Service]\nType=simple\nUser=chv-browser\nGroup=chv-browser\nExecStart=/usr/bin/python3 /usr/local/bin/chv-cdp-broker\nRestart=on-failure\nRestartSec=2\n\n[Install]\nWantedBy=multi-user.target\n" > /etc/systemd/system/chv-cdp-broker.service' # round-11 真机修复(缺陷 4):tmpfiles 须登记 /run/chv-browser #(browser.sock 自有目录);P4 的 ask-queue 行保留。 - --run-command 'printf "d /run/chv 0755 root root -\nd /run/chv/shots 0755 chv-browser chv-browser -\nd /run/chv/ask-queue 0750 chv-browser chv-browser -\nd /run/chv-browser 0755 chv-browser chv-browser -\n" > /etc/tmpfiles.d/chv.conf && systemctl enable chv-broker chv-browser chv-cdp-broker || true') + # round-12 修复轮(项 1,P4):/run/chv 改为组 chv-browser + # 可写(2775,setgid 沿用手工修复的口径——R12 真机里 + # chgrp chv-browser + chmod 2775 后 broker 全过)。原 0755 + # root 所有时 chv-browser 建不了 cdp-broker.sock,broker + # bind 报 PermissionError 而 crash-loop。绝不用 0666/0777 + # 那种放宽(与 round-11 authd socket 组权限 0660 同款口径)。 + --run-command 'printf "d /run/chv 2775 root chv-browser -\nd /run/chv/shots 0755 chv-browser chv-browser -\nd /run/chv/ask-queue 0750 chv-browser chv-browser -\nd /run/chv-browser 0755 chv-browser chv-browser -\n" > /etc/tmpfiles.d/chv.conf && systemctl enable chv-broker chv-browser chv-cdp-broker || true') # P3 交接(Muse P3 的 authd/sentinel 叶子模块):文件在仓库里存在时 # 拷入镜像(本分支已有,合入后自动生效);不存在时只警告、不失败—— # M4 既定 build.sh 不硬要求 cloud/,见上。缺叶子模块时 chv-authd