Files
ATIT/VEGA/createuser.sh
2026-05-29 00:43:14 +03:00

62 lines
1.6 KiB
Bash

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}"
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}"
echo "✅ User configured successfully"
echo
echo "User: ${USER_NAME}"
echo "Password: ${USER_PASSWORD}"