sudo adduser epostolit --ingroup docker echo 'export DOCKER_HOST=unix:///run/user/$(id -u)/docker.sock' | sudo tee -a /home/tpanov/.bashrc echo 'export PATH=/home/$(whoami)/bin:$PATH' | sudo tee -a /home/tpanov/.bashrc sudo mkdir /home/tpanov/.ssh echo 'ssh-ключ' | sudo tee -a /home/tpanov/.ssh/authorized_keys -------------- #!/usr/bin/env bash set -euo pipefail USER_NAME="" SSH_PUBLIC_KEY="" HOME_DIR="/home/${USER_NAME}" BASHRC="${HOME_DIR}/.bashrc" SSH_DIR="${HOME_DIR}/.ssh" AUTHORIZED_KEYS="${SSH_DIR}/authorized_keys" DOCKER_HOST_LINE='export DOCKER_HOST=unix:///run/user/$(id -u)/docker.sock' PATH_LINE='export PATH=$HOME/bin:$PATH' USER_PASSWORD="$(openssl rand -base64 24)" if ! id "${USER_NAME}" &>/dev/null; then sudo adduser \ --ingroup docker \ --gecos "" \ --disabled-password \ "${USER_NAME}" echo "${USER_NAME}:${USER_PASSWORD}" | sudo chpasswd fi sudo install -d \ -m 700 \ -o "${USER_NAME}" \ -g "${USER_NAME}" \ "${SSH_DIR}" if ! sudo grep -qxF "${SSH_PUBLIC_KEY}" "${AUTHORIZED_KEYS}" 2>/dev/null; then echo "${SSH_PUBLIC_KEY}" | sudo tee -a "${AUTHORIZED_KEYS}" >/dev/null fi sudo chown "${USER_NAME}:${USER_NAME}" "${AUTHORIZED_KEYS}" sudo chmod 600 "${AUTHORIZED_KEYS}" # ========================= # BASHRC CONFIG # ========================= grep -qxF "${DOCKER_HOST_LINE}" "${BASHRC}" || \ echo "${DOCKER_HOST_LINE}" | sudo tee -a "${BASHRC}" >/dev/null grep -qxF "${PATH_LINE}" "${BASHRC}" || \ echo "${PATH_LINE}" | sudo tee -a "${BASHRC}" >/dev/null sudo chown "${USER_NAME}:${USER_NAME}" "${BASHRC}" # ========================= # OUTPUT # ========================= echo "✅ User configured successfully" echo echo "User: ${USER_NAME}" echo "Password: ${USER_PASSWORD}"