bash_bootstrap/bootstrap.sh

44 lines
1.2 KiB
Bash
Raw Normal View History

2025-04-06 11:21:13 +00:00
#!/bin/bash
set -euo pipefail
# Check for root privileges
if [ "$(id -u)" -ne 0 ]; then
2025-06-11 17:17:28 +00:00
echo "[✗] Dieses Skript muss als root ausgeführt werden." >&2
exit 1
fi
2025-06-11 17:22:29 +00:00
# Use the current user
USERNAME=$(whoami)
2025-06-11 17:12:16 +00:00
SSH_KEY_URL="https://skulldev.de/Skull-IT/trusted-ssh-keys/raw/branch/main/trusted-ssh-keys"
2025-04-06 11:21:13 +00:00
SSH_DIR="/home/$USERNAME/.ssh"
2025-06-11 17:17:28 +00:00
# Update package list and install necessary packages
2025-06-11 17:12:16 +00:00
echo "[+] Updating package list and installing essential packages..."
2025-06-11 17:17:28 +00:00
apt-get update
apt-get install -y wget
2025-04-06 11:21:13 +00:00
2025-06-11 17:17:28 +00:00
# Setting up SSH directory and authorized keys
2025-04-06 11:21:13 +00:00
echo "[+] Setting up SSH directory..."
mkdir -p "$SSH_DIR"
2025-06-11 17:17:28 +00:00
wget -O "$SSH_DIR/authorized_keys" "$SSH_KEY_URL"
2025-04-06 11:21:13 +00:00
chown -R "$USERNAME:$USERNAME" "$SSH_DIR"
chmod 700 "$SSH_DIR"
chmod 600 "$SSH_DIR/authorized_keys"
2025-06-11 17:17:28 +00:00
# Adding user to sudo group
2025-04-06 11:21:13 +00:00
echo "[+] Adding user to sudo group..."
2025-06-11 17:17:28 +00:00
apt-get install -y sudo
2025-04-06 11:21:13 +00:00
usermod -aG sudo "$USERNAME"
2025-06-11 17:17:28 +00:00
# Configuring passwordless sudo for the user
2025-04-06 11:21:13 +00:00
echo "[+] Configuring passwordless sudo for $USERNAME..."
echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" > "/etc/sudoers.d/$USERNAME"
chmod 440 "/etc/sudoers.d/$USERNAME"
2025-06-11 17:17:28 +00:00
# Setting timezone
2025-04-06 11:21:13 +00:00
echo "[+] Setting timezone to Europe/Berlin..."
2025-06-11 17:17:28 +00:00
apt-get install -y tzdata
ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
2025-06-11 17:17:28 +00:00
echo "[✓] Bootstrap complete."