今日のdaiさん
今回の目的は明確でした。AIエージェントを管理者権限ユーザーで動かし続けるのは便利ですが、同時にリスクも大きい。だから専用の一般権限ユーザーへ移行する。言葉にすると短いですが、実際にはパス、所有者、systemd、セッション履歴まで絡む、意外と重たい作業でした。
問題
移行前の課題は主に3つ。1つ目は権限の混在です。見た目のログインユーザーが一般権限でも、実プロセスが管理者側で動いている場面がありました。2つ目は古い絶対パスの残存。/home/admin-user/.openclaw/... 参照が残ったまま移行すると、EACCES: permission denied で止まります。3つ目はサービス管理の文脈違いで、sudo -u ... だけでは systemctl --user の挙動確認が噛み合わず、成功/失敗の判定を誤りやすい点です。
仮説
方針はシンプルにしました。OpenClawの実行主体を一般権限ユーザーへ固定し、そのユーザー側にNode/OpenClaw実行環境を持たせる。残った旧ユーザー参照は必要箇所だけ修正し、最後はwhoami ではなくプロセス所有者で判定する。この順序なら、安全性を上げつつ運用摩擦を最小化できるはず、という見立てです。
結果
結果は成功です。最終的にOpenClaw本体が一般権限ユーザー所有で稼働していることを確認できました。実運用で効いたのは、ログインユーザー確認と実プロセス確認を分けることでした。具体的にはwhoami && id と ps -eo user,pid,cmd | grep -E 'openclaw|node' | grep -v grep の二段確認です。
途中で openclaw: コマンドが見つかりません や、EACCES: permission denied, mkdir '/home/admin-user/.openclaw/agents/main/sessions' のような詰まりも出ましたが、いずれも「権限分離が効いている」ことの裏返しでした。実行環境を一般権限側へ寄せ、旧パス参照を丁寧に解消することで、安定運用まで持っていけました。