From 96bf269bbf50c6d093cb3c16d9f7290b2ec004f7 Mon Sep 17 00:00:00 2001 From: stqfdyr <89149493+stqfdyr@users.noreply.github.com> Date: Wed, 23 Sep 2026 06:52:41 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20OpenRC=20=E4=B8=8B=20agent=20=E4=B9=9F?= =?UTF-8?q?=E4=BB=A5=20monitor-agent=20=E8=BF=90=E8=A1=8C=EF=BC=9B?= =?UTF-8?q?=E4=BB=A5=20root=20=E6=89=A7=E8=A1=8C=E7=9A=84=E6=98=AF?= =?UTF-8?q?=E5=AE=89=E8=A3=85=E8=84=9A=E6=9C=AC=EF=BC=8C=E4=B8=8D=E6=98=AF?= =?UTF-8?q?=20agent?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/content/ai.mdx | 2 +- src/content/guide/philosophy.mdx | 6 +++--- src/content/install/uninstall.mdx | 4 +++- src/content/reference/faq.mdx | 6 +++--- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/content/ai.mdx b/src/content/ai.mdx index b35d957..bd448a8 100644 --- a/src/content/ai.mdx +++ b/src/content/ai.mdx @@ -126,7 +126,7 @@ Cloudflare 隧道,ingress 指向 http://127.0.0.1:28080 即可,不需要开 - 不要建议加 CPU / 内存这类负载告警、WebSSH、插件,这个项目明确不做这些。掉线、流量、到期通知是内置的, 在「通知」页配置。 - 不要在「设置」里填 GitHub 代理,除非确认这台机器真的拉不到 GitHub Release。那个地址返回的 - 字节会被装到每一台节点上并以 root 跑起来。 + 字节会被装到每一台节点上作为 agent 运行。 ``` ## 给 AI 读的其它入口 diff --git a/src/content/guide/philosophy.mdx b/src/content/guide/philosophy.mdx index 294d706..d0415e2 100644 --- a/src/content/guide/philosophy.mdx +++ b/src/content/guide/philosophy.mdx @@ -32,8 +32,8 @@ hub 因此连自己的二进制都改不了:可写的只有数据库和主题 `systemctl cat` 和日志里。 - OpenRC 上 agent 以 root 运行。上表的隔离项都是 systemd 的单元选项,OpenRC 没有对应开关, - 两边等价的只有自动重启和 token 的存放方式。 + OpenRC 上 agent 同样以专用用户 `monitor-agent` 运行,但上表其余几行都是 systemd 的单元选项,OpenRC + 没有对应开关:两边等价的只有运行身份、自动重启和 token 的存放方式。 ### 凭证的边界 @@ -52,7 +52,7 @@ hub 因此连自己的二进制都改不了:可写的只有数据库和主题 一键脚本写死 `--listen 127.0.0.1`。装完那一刻面板打不开,要先配一段反向代理。 这是最容易被当成 bug 的一条,而代价很实在:明文 HTTP 上,会话 cookie 和节点 token 在链路上都是明文, -中间人还能替换掉安装命令下载的那个二进制,而它接着会以 root 跑起来。所以 agent 和 `install.sh` +中间人还能替换掉安装命令下载的脚本和二进制,而那个脚本以 root 执行。所以 agent 和 `install.sh` 一律拒绝明文连远程 hub。 [反向代理](/install/reverse-proxy)那一页有三种配法,抄就行。 diff --git a/src/content/install/uninstall.mdx b/src/content/install/uninstall.mdx index 3a85c1b..ef0609b 100644 --- a/src/content/install/uninstall.mdx +++ b/src/content/install/uninstall.mdx @@ -51,13 +51,15 @@ rc-update del monitor-agent default rm -f /etc/init.d/monitor-agent # 删除日志,OpenRC 下 agent 的输出写在这里 rm -f /var/log/monitor-agent.log +# 删除安装时建的系统用户;Alpine 用 deluser,其它系统用 userdel +deluser monitor-agent 2>/dev/null || userdel monitor-agent 2>/dev/null # 删除二进制,以及存放 hub 地址和 token 的 env 文件 rm -f /opt/monitor/monitor-agent /opt/monitor/agent.env # 目录空了才会删掉;hub 也装在这里时原样保留 rmdir /opt/monitor 2>/dev/null ``` -OpenRC 下安装脚本不建系统用户,所以没有 `userdel` 这一步。 +较早的版本在 OpenRC 下不建这个用户,删用户那一步什么也不做。 ## 卸载 hub diff --git a/src/content/reference/faq.mdx b/src/content/reference/faq.mdx index 6ae15a9..5ec3bd7 100644 --- a/src/content/reference/faq.mdx +++ b/src/content/reference/faq.mdx @@ -48,7 +48,7 @@ hub 用的是自签证书或私有 CA 签的证书。**agent 只认编译进去 给 hub 换一张公共 CA 的证书(Let's Encrypt 或者 Cloudflare 的边缘证书都行)。内网部署实在没有域名 的,另一条路是让 agent 用明文连 hub:同一台机器走回环,别的机器在安装命令里把 `--server` 写成 `http://` 地址并加 `--insecure`。代价是 token、每一条上报和安装时下载的二进制都在链路上明文传输,路径上的人能读到 token, -也能换掉那个马上要以 root 运行的二进制,所以只在可信的内网里这么做。 +也能换掉以 root 执行的安装脚本和随后装上的二进制,所以只在可信的内网里这么做。 ## 节点周期性掉线又自己回来 @@ -102,7 +102,7 @@ IPv6、出口。机器自己的地址优先,因为出口可能属于挡在它 在**设置 → GitHub 代理**填一个镜像地址,hub 拉 release 时会用它。节点侧什么都不用改。 - 这个地址返回的字节会被装到每一台节点上并以 root 跑起来,hub 原样转发,`install.sh` 直接安装, + 这个地址返回的字节会被装到每一台节点上作为 agent 运行,hub 原样转发,`install.sh` 直接安装, 全链路没有签名也没有摘要校验。留空直连是默认值,只有 hub 自己拉不到 GitHub 时才需要填, 而且只填信得过的镜像。设置只接受 `https://`。 @@ -110,7 +110,7 @@ IPv6、出口。机器自己的地址优先,因为出口可能属于挡在它 ## 面板里没有「添加节点」 从 IP 地址或明文 HTTP 进面板时,添加节点、批量窗口和安装命令都不可用:那条链路上 token 是明文 -传的,而下载的二进制接着要以 root 跑起来。 +传的,安装脚本和二进制也走这条链路下载,而那个脚本以 root 执行。 配好域名和 TLS,从 HTTPS 域名进面板,这些入口会自己出现。`--site` 不能绕过这个限制。