Skip to content

csm runs as the user who runs it; no root; quiet output - #83

Merged
sivert-io merged 1 commit into
masterfrom
feat/run-as-invoking-user
Sep 29, 2026
Merged

sivert-io merged 1 commit into
masterfrom
feat/run-as-invoking-user

Conversation

@sivert-io

Copy link
Copy Markdown
Collaborator

Per Sivert: no dedicated user, no legacy paths.

  • Managed user = the user running csm; CS2_USER override and multi-user discovery removed.
  • Root refused except setup-host, install-deps, self-update; setup-host prepares $SUDO_USER (deps + linger), no useradd.
  • State dir = $HOME (CSM_ROOT overrides; a binary in /usr/local/bin etc. is never used as the state dir).
  • Quiet terminal: no [tmux]/Action-completed lines; logs still in files; CSM_VERBOSE=1 shows them.

Tests: full internal/csm and cmd suites pass on Linux (cs2 box); smoke-tested csm status / csm link status as a normal user.

🤖 Generated with Claude Code

- The managed user is always the user running csm (no dedicated
  cs2servermanager user, no CS2_USER override). Root is refused except
  for setup-host / install-deps / self-update; setup-host prepares the
  account that ran sudo instead of creating a user.
- csm's state lives in that user's home (never a system bin dir such as
  /usr/local/bin); CSM_ROOT still overrides.
- Terminal output is the command's own result: internal log lines go to
  the log files (CSM_VERBOSE=1 or CSM_LOG_LEVEL shows them).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sivert-io
sivert-io merged commit 35cb56e into master Sep 29, 2026
2 checks passed
@sivert-io
sivert-io deleted the feat/run-as-invoking-user branch September 29, 2026 18:43
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 29, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant