Files
2026-03-18 03:29:25 +08:00

70 lines
1.5 KiB
Bash

#!/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"