diff --git a/scripts/docker/install/rootless/rootless_user.sh b/scripts/docker/install/rootless/rootless_user.sh index 7eeb5f1..b5b4de8 100755 --- a/scripts/docker/install/rootless/rootless_user.sh +++ b/scripts/docker/install/rootless/rootless_user.sh @@ -6,8 +6,13 @@ installDockerRootlessUser() if id "$CFG_DOCKER_INSTALL_USER" &>/dev/null; then isSuccessful "User $CFG_DOCKER_INSTALL_USER already exists." else - # If the user doesn't exist, create the user - local result=$(sudo useradd -s /bin/bash -d "/home/$CFG_DOCKER_INSTALL_USER") + # Create the rootless docker user. The login name (last arg) was + # missing, so useradd failed silently — masked by local result=$(...) + # — and the user never existed, breaking the whole rootless setup. + # -m makes its home; with SUB_UID/GID configured in login.defs, + # useradd also assigns its subordinate uid/gid ranges (needed for + # rootless). Run unmasked so checkSuccess sees real failures. + sudo useradd -m -s /bin/bash -d "/home/$CFG_DOCKER_INSTALL_USER" "$CFG_DOCKER_INSTALL_USER" checkSuccess "Creating $CFG_DOCKER_INSTALL_USER User." updateDockerInstallPassword; fi