Skip to content

Commit 22c47ba

Browse files
committed
fix: add invoking user to panel admin group
1 parent 5f6024a commit 22c47ba

3 files changed

Lines changed: 12 additions & 5 deletions

File tree

RemoteCoOp/service/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ The panel uses a generated self-signed HTTPS certificate unless `OPENNOW_REMOTE_
5353

5454
Use a system username and password. Access is allowed for members of `opennow-coop-admin`. If that group does not exist, the panel falls back to local administrator groups.
5555

56-
The installers create `opennow-coop-admin` and add the user running `sudo` to it when possible.
56+
The installers create `opennow-coop-admin` and add the invoking user plus the panel service user to it. Override the login account added by the installer with `LOGIN_USER=your-user`.
5757

5858
## Controls
5959

RemoteCoOp/service/install-linux.sh

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ NODE_BIN=${NODE_BIN:-$(command -v node)}
77
SUDO=${SUDO:-sudo}
88
SERVICE_GROUP=${SERVICE_GROUP:-opennow-coop}
99
ADMIN_GROUP=${ADMIN_GROUP:-opennow-coop-admin}
10+
LOGIN_USER=${LOGIN_USER:-${SUDO_USER:-$(id -un)}}
1011
ENV_DIR=/etc/opennow
1112
ENV_FILE=$ENV_DIR/remote-coop-panel.env
1213
HELPER=/usr/local/libexec/opennow-remote-coop-pam-auth-helper
@@ -318,8 +319,11 @@ SERVICE_USER=${SERVICE_USER:-$(stat -c %U "$REPO_ROOT")}
318319
$SUDO groupadd -f "$SERVICE_GROUP"
319320
$SUDO usermod -a -G "$SERVICE_GROUP" "$SERVICE_USER"
320321
$SUDO groupadd -f "$ADMIN_GROUP"
321-
if [ -n "${SUDO_USER:-}" ] && id "$SUDO_USER" >/dev/null 2>&1; then
322-
$SUDO usermod -a -G "$ADMIN_GROUP" "$SUDO_USER"
322+
if [ -n "$LOGIN_USER" ] && id "$LOGIN_USER" >/dev/null 2>&1; then
323+
$SUDO usermod -a -G "$ADMIN_GROUP" "$LOGIN_USER"
324+
fi
325+
if [ -n "$SERVICE_USER" ] && id "$SERVICE_USER" >/dev/null 2>&1; then
326+
$SUDO usermod -a -G "$ADMIN_GROUP" "$SERVICE_USER"
323327
fi
324328

325329
$SUDO mkdir -p "$ENV_DIR" /usr/local/libexec
@@ -346,3 +350,4 @@ echo "TURN port: $TURN_PORT"
346350
echo "TURN relay UDP range: $TURN_MIN_PORT-$TURN_MAX_PORT"
347351
echo "Panel access group: $ADMIN_GROUP"
348352
echo "Panel service user: $SERVICE_USER"
353+
echo "Panel login user: $LOGIN_USER"

RemoteCoOp/service/install-macos.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ NODE_BIN=${NODE_BIN:-$(command -v node)}
77
SUDO=${SUDO:-sudo}
88
ADMIN_GROUP=${ADMIN_GROUP:-opennow-coop-admin}
99
SERVICE_USER=${SERVICE_USER:-$(stat -f %Su "$REPO_ROOT")}
10+
LOGIN_USER=${LOGIN_USER:-${SUDO_USER:-$(id -un)}}
1011
PLIST=/Library/LaunchDaemons/com.opennow.remote-coop.panel.plist
1112
HELPER=/usr/local/libexec/opennow-remote-coop-pam-auth-helper
1213
PANEL_PORT=${OPENNOW_REMOTE_COOP_PANEL_PORT:-}
@@ -147,8 +148,8 @@ select_service_ports
147148
if ! dscl . -read "/Groups/$ADMIN_GROUP" >/dev/null 2>&1; then
148149
$SUDO dseditgroup -o create "$ADMIN_GROUP"
149150
fi
150-
if [ -n "${SUDO_USER:-}" ] && id "$SUDO_USER" >/dev/null 2>&1; then
151-
$SUDO dseditgroup -o edit -a "$SUDO_USER" -t user "$ADMIN_GROUP"
151+
if [ -n "$LOGIN_USER" ] && id "$LOGIN_USER" >/dev/null 2>&1; then
152+
$SUDO dseditgroup -o edit -a "$LOGIN_USER" -t user "$ADMIN_GROUP"
152153
fi
153154
$SUDO dseditgroup -o edit -a "$SERVICE_USER" -t user "$ADMIN_GROUP"
154155

@@ -179,3 +180,4 @@ echo "TURN port: $TURN_PORT"
179180
echo "TURN relay UDP range: $TURN_MIN_PORT-$TURN_MAX_PORT"
180181
echo "Panel access group: $ADMIN_GROUP"
181182
echo "Panel service user: $SERVICE_USER"
183+
echo "Panel login user: $LOGIN_USER"

0 commit comments

Comments
 (0)