#!/bin/bash installDockerRootlessUser() { if [[ $CFG_DOCKER_INSTALL_TYPE == "rootless" ]]; then if id "$CFG_DOCKER_INSTALL_USER" &>/dev/null; then isSuccessful "User $CFG_DOCKER_INSTALL_USER already exists." else # 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. runSystem useradd -m -s /bin/bash -d "/home/$CFG_DOCKER_INSTALL_USER" "$CFG_DOCKER_INSTALL_USER" checkSuccess "Creating $CFG_DOCKER_INSTALL_USER User." updateDockerInstallPassword; fi fi }