diff --git a/bin/docker_wrap.sh b/bin/docker_wrap.sh index 6c56cb32280c01c87cb54a897359cc2715fb39f5..534e5771066a37a9c322f20c25291402d57bd538 100755 --- a/bin/docker_wrap.sh +++ b/bin/docker_wrap.sh @@ -18,6 +18,14 @@ setup_user() { NEWUID="$(stat -c '%u' "$TARGET")" NEWGID="$(stat -c '%g' "$TARGET")" + if [ -f "/bin/zsh" ]; then + USE_SHELL="/bin/zsh" + elif [ -f "/bin/bash" ]; then + USE_SHELL="/bin/bash" + else + USE_SHELL="/bin/sh" + fi + echo ">>> checking for group $NEWGID" if ! getent group "$NEWGID" >/dev/null 2>/dev/null ; then busybox addgroup -g "$NEWGID" "$NEWUSER" || (echo "!!! Couldn't create group with id $NEWGID" && exit 1) @@ -28,7 +36,7 @@ setup_user() { fi echo ">>> checking for user $NEWUID" if ! getent passwd "$NEWUID" >/dev/null 2>/dev/null ; then - busybox adduser -G "$NEWGROUP" -u "$NEWUID" -h "$TARGET" -s /bin/sh -D "$NEWUSER" || (echo "!!! Couldn't create user" && exit 1) + busybox adduser -G "$NEWGROUP" -u "$NEWUID" -h "$TARGET" -s "$USE_SHELL" -D "$NEWUSER" || (echo "!!! Couldn't create user" && exit 1) echo ">>> created user $NEWUSER($NEWUID)" else NEWUSER="$(getent passwd "$NEWUID" | cut -d: -f1)"