bootstrap.sh aktualisiert

This commit is contained in:
kevinheyer 2025-06-11 17:17:28 +00:00
parent 0ee9c0ea07
commit 6ba2492705

View file

@ -3,7 +3,7 @@ set -euo pipefail
# Check for root privileges # Check for root privileges
if [ "$(id -u)" -ne 0 ]; then if [ "$(id -u)" -ne 0 ]; then
echo "[✗] Dieses Skript muss als root oder via sudo ausgeführt werden." >&2 echo "[✗] Dieses Skript muss als root ausgeführt werden." >&2
exit 1 exit 1
fi fi
@ -11,31 +11,37 @@ USERNAME="skulladmin"
SSH_KEY_URL="https://skulldev.de/Skull-IT/trusted-ssh-keys/raw/branch/main/trusted-ssh-keys" SSH_KEY_URL="https://skulldev.de/Skull-IT/trusted-ssh-keys/raw/branch/main/trusted-ssh-keys"
SSH_DIR="/home/$USERNAME/.ssh" SSH_DIR="/home/$USERNAME/.ssh"
# Update package list and install necessary packages
echo "[+] Updating package list and installing essential packages..." echo "[+] Updating package list and installing essential packages..."
apt-get update -y apt-get update
apt-get install -y sudo curl wget gnupg lsb-release software-properties-common apt-get install -y wget
# Create user if not exists
if ! id "$USERNAME" &>/dev/null; then
useradd -m -s /bin/bash "$USERNAME"
fi
# Setting up SSH directory and authorized keys
echo "[+] Setting up SSH directory..." echo "[+] Setting up SSH directory..."
mkdir -p "$SSH_DIR" mkdir -p "$SSH_DIR"
curl -fsSL "$SSH_KEY_URL" -o "$SSH_DIR/authorized_keys" wget -O "$SSH_DIR/authorized_keys" "$SSH_KEY_URL"
chown -R "$USERNAME:$USERNAME" "$SSH_DIR" chown -R "$USERNAME:$USERNAME" "$SSH_DIR"
chmod 700 "$SSH_DIR" chmod 700 "$SSH_DIR"
chmod 600 "$SSH_DIR/authorized_keys" chmod 600 "$SSH_DIR/authorized_keys"
# Adding user to sudo group
echo "[+] Adding user to sudo group..." echo "[+] Adding user to sudo group..."
apt-get install -y sudo
usermod -aG sudo "$USERNAME" usermod -aG sudo "$USERNAME"
# Configuring passwordless sudo for the user
echo "[+] Configuring passwordless sudo for $USERNAME..." echo "[+] Configuring passwordless sudo for $USERNAME..."
mkdir -p /etc/sudoers.d
echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" > "/etc/sudoers.d/$USERNAME" echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" > "/etc/sudoers.d/$USERNAME"
chmod 440 "/etc/sudoers.d/$USERNAME" chmod 440 "/etc/sudoers.d/$USERNAME"
# Setting timezone
echo "[+] Setting timezone to Europe/Berlin..." echo "[+] Setting timezone to Europe/Berlin..."
timedatectl set-timezone Europe/Berlin apt-get install -y tzdata
ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
echo "[+] Waiting for dpkg lock to be released..." echo "[✓] Bootstrap complete."
while fuser /var/lib/dpkg/lock-frontend >/dev/null 2>&1; do
sleep 3
done
echo "[✓] Bootstrap complete."