Linux 常扮演 OpenClaw 的控制面、閘道或出站代理,而真正跑建置的 Mac 可能在 MacCloud 上。以下假設你使用具 systemd 的發行版(如 Ubuntu LTS、Debian 或雲端映像),目標是「權限清楚、可重啟、可排錯」。
一、為什麼要獨立使用者與目錄
不要用 root 跑業務行程。為 OpenClaw 建立專用系統使用者與工作目錄(例如 /var/lib/openclaw),設定與金鑰放在該使用者下並將敏感檔案權限收緊到 600。備份、遷移或交接時,邊界一目了然。
二、systemd 單元怎麼寫才穩
使用 Type=simple 或上游文件建議型別,明確設定 WorkingDirectory、EnvironmentFile。啟用 Restart=on-failure 並配上合理的 RestartSec,避免異常抖動時把機器打滿。需要多執行個體時,用範本單元或獨立服務名稱區分,別共用同一個 PID 檔路徑。
journalctl -u 裡看清啟停原因,比「腳本裡 echo」更利於與工單系統對齊。三、網路與防火牆
預設拒絕入站、依需求放行。若 Linux 僅作為出站用戶端,可維持無入站連接埠。與 MacCloud 上的 Mac 通訊時,優先走固定出口 IP 或內網,方便你在雲端做白名單;需要開洞的情境務必在變更紀錄寫清連接埠與有效期。
四、日誌與輪替
把標準輸出交給 journald,或落到 logrotate 管理的檔案;欄位盡量帶 run_id、step 這類鍵,與 Mac 側建置日誌對照時不用猜。磁碟寫滿會拖垮整個編排——別忽略日誌上限策略。
五、與 Mac 建置機協作時的習慣
Linux 側重編排與回呼,Mac 側重 Xcode/圖形相關工作。把長耗時步驟放在租期與計費你更可控的一側;若 Mac 執行個體按天/週計費,避免在到期邊界發起不可中斷的長任務。
六、自檢清單
- 服務是否以非 root 使用者執行,目錄權限是否最小化?
systemctl status是否能在失敗時看到最後數十行日誌?- 防火牆與雲端安全群組是否雙向核對(而不只改了一邊)?
- 日誌成長是否在監控裡有閾值告警?
若還需在桌面側偵錯,可繼續看WSL2 指南;要上 CI,請讀GitHub Actions 整合思路。