fix(demo): keep claude temp home unreachable to other host users
- commit
- 45b1180d291365e487d3df70496697d9d51ca687
- author
- brice · · 2026-07-24 12:23 UTC
- parent
- f593fc1
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
1 file · +5 -2
M scripts/demo/run.sh +5 -2
| @@ -18,9 +18,12 @@ printf '{"hasCompletedOnboarding": true, "theme": "dark", "projects": {"/home/de | |||
| 18 | 18 | ||
| 19 | 19 | # Rootless docker maps host-owned files (uid 1000) to container root, but the | |
| 20 | 20 | # container runs as demo (uid 1000 -> a subuid), so demo cannot read the | |
| 21 | - | # credentials or write its config dir. Make the throwaway home world-accessible | |
| 22 | - | # so claude can authenticate and write transcripts. | |
| 21 | + | # credentials or write its config dir. Open up the throwaway home's contents so | |
| 22 | + | # claude can authenticate and write transcripts, then restore the mktemp | |
| 23 | + | # parent to 0700: bind mounts hand the container the inner paths directly, but | |
| 24 | + | # other host users would have to traverse the parent, which now blocks them. | |
| 23 | 25 | chmod -R a+rwX "$CLAUDE_TMP" | |
| 26 | + | chmod 0700 "$CLAUDE_TMP" | |
| 24 | 27 | ||
| 25 | 28 | docker run --rm --hostname vev-demo \ | |
| 26 | 29 | -v "$PWD/scripts/demo:/tape:ro" \ | |
| @@ -18,9 +18,12 @@ printf '{"hasCompletedOnboarding": true, "theme": "dark", "projects": {"/home/de | |||||
| 18 | 18 | ||||
| 19 | # Rootless docker maps host-owned files (uid 1000) to container root, but the | 19 | # Rootless docker maps host-owned files (uid 1000) to container root, but the | ||
| 20 | # container runs as demo (uid 1000 -> a subuid), so demo cannot read the | 20 | # container runs as demo (uid 1000 -> a subuid), so demo cannot read the | ||
| 21 | - | # credentials or write its config dir. Make the throwaway home world-accessible | 21 | + | # credentials or write its config dir. Open up the throwaway home's contents so |
| 22 | - | # so claude can authenticate and write transcripts. | 22 | + | # claude can authenticate and write transcripts, then restore the mktemp |
| 23 | + | # parent to 0700: bind mounts hand the container the inner paths directly, but | |||
| 24 | + | # other host users would have to traverse the parent, which now blocks them. | |||
| 23 | chmod -R a+rwX "$CLAUDE_TMP" | 25 | chmod -R a+rwX "$CLAUDE_TMP" | ||
| 26 | + | chmod 0700 "$CLAUDE_TMP" | |||
| 24 | 27 | ||||
| 25 | docker run --rm --hostname vev-demo \ | 28 | docker run --rm --hostname vev-demo \ | ||
| 26 | -v "$PWD/scripts/demo:/tape:ro" \ | 29 | -v "$PWD/scripts/demo:/tape:ro" \ | ||