fix(vscode-linuxserver): constrain config ownership changes

This commit is contained in:
okxlin
2026-11-12 12:30:01 +08:00
parent 0143f7c2ed
commit 04a2e18a17
6 changed files with 27 additions and 12 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
CONTAINER_NAME=
CONTAINER_NAME=vscode-linuxserver
PANEL_APP_PORT_HTTP=3000
PANEL_APP_PORT_HTTPS=3001
CONFIG_PATH=./data/config
@@ -1,13 +1,18 @@
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)"
VERSION_DIR="$(cd -- "$SCRIPT_DIR/.." && pwd -P)"
APP_ROOT="$(cd -- "$VERSION_DIR/.." && pwd -P)"
paths=(
"${CONFIG_PATH:-./data/config}"
)
mkdir -p "${paths[@]}"
mkdir -p -- "${paths[@]}"
for path in "${paths[@]}"; do
case "$path" in
./*|../*) chown -R 1000:1000 "$path" 2>/dev/null || true ;;
resolved_path="$(cd -- "$path" && pwd -P)"
case "$resolved_path" in
"$APP_ROOT"/*) chown -R 1000:1000 -- "$resolved_path" 2>/dev/null || true ;;
*) printf '%s\n' 'Skipping recursive ownership outside this app directory.' ;;
esac
done
+1 -1
View File
@@ -1,4 +1,4 @@
CONTAINER_NAME=
CONTAINER_NAME=vscode-linuxserver
PANEL_APP_PORT_HTTP=3000
PANEL_APP_PORT_HTTPS=3001
CONFIG_PATH=./data/config
@@ -1,13 +1,18 @@
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)"
VERSION_DIR="$(cd -- "$SCRIPT_DIR/.." && pwd -P)"
APP_ROOT="$(cd -- "$VERSION_DIR/.." && pwd -P)"
paths=(
"${CONFIG_PATH:-./data/config}"
)
mkdir -p "${paths[@]}"
mkdir -p -- "${paths[@]}"
for path in "${paths[@]}"; do
case "$path" in
./*|../*) chown -R 1000:1000 "$path" 2>/dev/null || true ;;
resolved_path="$(cd -- "$path" && pwd -P)"
case "$resolved_path" in
"$APP_ROOT"/*) chown -R 1000:1000 -- "$resolved_path" 2>/dev/null || true ;;
*) printf '%s\n' 'Skipping recursive ownership outside this app directory.' ;;
esac
done
+1 -1
View File
@@ -1,4 +1,4 @@
CONTAINER_NAME=
CONTAINER_NAME=vscode-linuxserver
PANEL_APP_PORT_HTTP=3000
PANEL_APP_PORT_HTTPS=3001
CONFIG_PATH=./data/config
@@ -1,13 +1,18 @@
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)"
VERSION_DIR="$(cd -- "$SCRIPT_DIR/.." && pwd -P)"
APP_ROOT="$(cd -- "$VERSION_DIR/.." && pwd -P)"
paths=(
"${CONFIG_PATH:-./data/config}"
)
mkdir -p "${paths[@]}"
mkdir -p -- "${paths[@]}"
for path in "${paths[@]}"; do
case "$path" in
./*|../*) chown -R 1000:1000 "$path" 2>/dev/null || true ;;
resolved_path="$(cd -- "$path" && pwd -P)"
case "$resolved_path" in
"$APP_ROOT"/*) chown -R 1000:1000 -- "$resolved_path" 2>/dev/null || true ;;
*) printf '%s\n' 'Skipping recursive ownership outside this app directory.' ;;
esac
done