本卡屬 FR-193(母卡 FR-193 母案(同清單上一張)),卡 A6,階段 P1,批 4。只改 evidence-agent。依賴:A3、A4。
三件收尾小事:compose 拿掉 cap_add NET_RAW(rootless 下無效,留著誤導);traceroute 的 ICMP 模式(-I)依 A0 實測結果決定去留;uninstall 補還原 guidant 帳號、sysctl 檔、cgroup 委派檔、linger。
extend:三件小事同一人做:都是 A0 清單上的收尾項
repo:/Users/chouraymond/Projects/Billows/Audit-Manager/evidence-agent
改既有:deploy/docker-compose.yml
改既有:guidant_agent/netdiag/adapters/probes/traceroute.py
改既有:deploy/install.sh(cmd_uninstall 段)
deploy/docker-compose.yml:161-162 刪 cap_add: [NET_RAW] 與那兩行註解,改註解一行「rootless 下 cap_add 只在容器 userns 內有效;ping 靠主機 sysctl ping_group_range」。guidant_agent/netdiag/adapters/probes/traceroute.py:30 的 -I:看 A0 證據頁 traceroute -I 結果——不通就把 icmp 參數的呼叫端改成在容器內永遠 False(或移除該選項並更新 verdict.py 對應文案);通就不動。順手補單元測試斷言 build_argv 在 Linux 預設不帶 -I。deploy/install.sh cmd_uninstall():容器與 volume 清完後加 rootless_host_teardown(放 A1 的 lib/rootless_host.sh):machinectl shell $u@ ... dockerd-rootless-setuptool.sh uninstall、rm -rf ~$u/.local/share/docker、loginctl disable-linger、userdel -r、刪 sysctl 檔與 delegate.conf、sysctl --system、daemon-reload。Docker Engine 套件本體不移除,印一行提示。帳號若是客戶既有的(A1 沿用那條),只拿掉 linger 不刪帳號。grep guidant /etc/passwd /etc/subuid 空、sysctl net.ipv4.ping_group_range 回預設、ps -eo user,comm | grep dockerd 空。compose 無 cap_add;netdiag 的 ping/traceroute/mtu 在 rootless 容器內跑出結果;uninstall 後 guidant 帳號、sysctl 檔、delegate.conf、linger 全清,grep 無殘留
docs/features/FR-193-2611-docker-rootless/design-v1.2.md(現行定稿)§1 決策 D1~D8、§2.2 接入點盤點、§3 詳細設計本卡那節、§4 主機六項、§6 拆卡表本卡那列;design.md/design-v1.1.md 已凍結只當沿革scripts/build/fetch_tpm2_debs.sh(離線套件抓法)、Agent scripts/install/lib/tpm.sh(離線裝法與 gate)、lib/upgrade_order.sh 檔頭(升級單不可信五條)、BE scripts/build/audit_nonroot_stack.sh --agent(總驗工具)