#!/usr/bin/env bash set -e echo "=================================" echo " User Setup" echo "=================================" read -rp "Enter new username: " USERNAME if id "$USERNAME" &>/dev/null; then echo "User already exists" exit 1 fi useradd -m -s /bin/bash "$USERNAME" passwd "$USERNAME" read -rp "Add user to sudo group? (y/n): " ADD_SUDO if [[ "$ADD_SUDO" == "y" ]]; then usermod -aG sudo "$USERNAME" fi mkdir -p "/home/$USERNAME/.ssh" echo echo "SSH Setup:" echo "1) Copy root authorized_keys" echo "2) Enter new public key" echo "3) Skip" read -rp "Choose option: " SSH_OPTION case "$SSH_OPTION" in 1) if [[ -f /root/.ssh/authorized_keys ]]; then cp /root/.ssh/authorized_keys "/home/$USERNAME/.ssh/" fi ;; 2) read -rp "Paste public key: " PUBKEY echo "$PUBKEY" > "/home/$USERNAME/.ssh/authorized_keys" ;; 3) ;; *) echo "Skipping SSH setup" ;; esac chown -R "$USERNAME:$USERNAME" "/home/$USERNAME/.ssh" chmod 700 "/home/$USERNAME/.ssh" if [[ -f "/home/$USERNAME/.ssh/authorized_keys" ]]; then chmod 600 "/home/$USERNAME/.ssh/authorized_keys" fi if command -v docker &>/dev/null; then echo read -rp "Docker is installed. Add $USERNAME to the docker group? (y/n): " ADD_DOCKER if [[ "$ADD_DOCKER" == "y" ]]; then usermod -aG docker "$USERNAME" echo "Added $USERNAME to the docker group." else echo "Skipped adding $USERNAME to docker group." fi fi echo "User setup complete"