Description
Description
The Dockerfile sets openclaw.json with root ownership and mode 0o600. This prevents the sandbox user from modifying the configuration post-onboard, blocking channel setup, model changes, and web search configuration.
Affected Area
- File(s): Dockerfile (lines 135-140)
Notes
Tracked at #719 (8 comments), #759, #915. This is a well-known recurring issue.
Related GitHub Issue Check
Reproduction Steps
- After onboard, exec into the sandbox:
openshell sandbox exec <sandbox-name> -- ls -la /sandbox/.openclaw/openclaw.json
- Observe: file is owned by
root:root with mode 444 (read-only)
- Attempt to modify it as the sandbox user:
openshell sandbox exec <sandbox-name> -- \
echo '{}' > /sandbox/.openclaw/openclaw.json
- Observe: write fails with
Permission denied — this is correct security behavior
Environment
- OS: Linux (inside Docker sandbox)
- NemoClaw Version: v0.1.0
- Branch: main
- Runtime: Docker via OpenShell
- Container / Orchestration Info: Docker sandbox
- Network Setup: N/A
- https://github.com/NVIDIA/NemoClaw
- Branch: main
Debug Output
# Verify the intentional root ownership:
openshell sandbox exec <sandbox-name> -- stat /sandbox/.openclaw/openclaw.json
# Expected: Access: (0444/-r--r--r--) Uid: (0/root) Gid: (0/root)
# Verify config integrity hash:
openshell sandbox exec <sandbox-name> -- \
sha256sum /sandbox/.openclaw/openclaw.json
openshell sandbox exec <sandbox-name> -- \
cat /sandbox/.openclaw/.config-hash
# Both should match — proving config integrity is verified at startup
Logs
# nemoclaw-start.sh integrity check output:
[NemoClaw] Verifying config integrity...
[NemoClaw] Config hash: OK
# This confirms the root-owned, read-only config is intentional hardening.
# See GitHub issue #719 for context on why this design was chosen.
Checklist
Description
Description
The Dockerfile sets
openclaw.jsonwith root ownership and mode 0o600. This prevents the sandbox user from modifying the configuration post-onboard, blocking channel setup, model changes, and web search configuration.Affected Area
Notes
Tracked at #719 (8 comments), #759, #915. This is a well-known recurring issue.
Related GitHub Issue Check
Reproduction Steps
root:rootwith mode444(read-only)Permission denied— this is correct security behaviorEnvironment
Debug Output
Logs
Checklist