From 2550fb349551d85dda7c33d4e7b7c24a476c76d0 Mon Sep 17 00:00:00 2001 From: grossmj Date: Wed, 28 Dec 2022 11:05:22 +0800 Subject: [PATCH] Support when the user field defined in Docker container is an ID. Fixes #2134 --- gns3server/compute/docker/resources/init.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gns3server/compute/docker/resources/init.sh b/gns3server/compute/docker/resources/init.sh index e21627d71..695a79984 100755 --- a/gns3server/compute/docker/resources/init.sh +++ b/gns3server/compute/docker/resources/init.sh @@ -87,5 +87,13 @@ done ifup -a -f # continue normal docker startup -eval HOME=$(echo ~${GNS3_USER-root}) +case "$GNS3_USER" in + [1-9][0-9]*) + # for when the user field defined in the Docker container is an ID + export GNS3_USER=$(cat /etc/passwd | grep ${GNS3_USER-root} | awk -F: '{print $1}') + ;; + *) + ;; +esac +eval HOME="$(echo ~${GNS3_USER-root})" exec su ${GNS3_USER-root} -p -- /gns3/run-cmd.sh "$OLD_PATH" "$@"