mirror of
https://github.com/netbirdio/netbird.git
synced 2026-03-31 06:34:19 -04:00
Fix ui-post-install.sh to use the full username (#4809)
Fixes #4808 by extracting the full username by: - Get PID using pgrep - Get UID from PID using /proc/${PID}/loginuid - Get user name from UID using id Also replaces "complex" pipe from ps to sed with a (hopefully) "simpler" (as in requiring less knowledge about the arguments of ps and regexps) invocation of cat and id.
This commit is contained in:
@@ -1,10 +1,15 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
|
||||||
# Check if netbird-ui is running
|
# Check if netbird-ui is running
|
||||||
if pgrep -x -f /usr/bin/netbird-ui >/dev/null 2>&1;
|
pid="$(pgrep -x -f /usr/bin/netbird-ui || true)"
|
||||||
|
if [ -n "${pid}" ]
|
||||||
then
|
then
|
||||||
runner=$(ps --no-headers -o '%U' -p $(pgrep -x -f /usr/bin/netbird-ui) | sed 's/^[ \t]*//;s/[ \t]*$//')
|
uid="$(cat /proc/"${pid}"/loginuid)"
|
||||||
|
username="$(id -nu "${uid}")"
|
||||||
# Only re-run if it was already running
|
# Only re-run if it was already running
|
||||||
pkill -x -f /usr/bin/netbird-ui >/dev/null 2>&1
|
pkill -x -f /usr/bin/netbird-ui >/dev/null 2>&1
|
||||||
su -l - "$runner" -c 'nohup /usr/bin/netbird-ui > /dev/null 2>&1 &'
|
su - "${username}" -c 'nohup /usr/bin/netbird-ui > /dev/null 2>&1 &'
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user