Update Ansible/user-anlegen.sh

This commit is contained in:
2025-05-07 07:51:36 +00:00
parent 63cf6325a5
commit 78afc2fcec

View File

@@ -1,41 +1,49 @@
#!/bin/bash #!/bin/sh
USERNAME="ansible" USERNAME="ansible"
SSH_KEY="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICBpQgsPoNARIuzw+YTuADA8lk7S3y9wqvPxtDAsdYbw ansible@deploy" SSH_KEY="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICBpQgsPoNARIuzw+YTuADA8lk7S3y9wqvPxtDAsdYbw ansible@deploy"
# Farbdefinitionen
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[0;33m'
BLUE='\033[0;34m'
NC='\033[0m'
# OS-Erkennung # OS-Erkennung
if [ -f /etc/os-release ]; then if [ -f /etc/os-release ]; then
. /etc/os-release . /etc/os-release
OS_ID=$ID OS_ID=$ID
else else
echo "Kann Betriebssystem nicht erkennen." printf "${RED}Kann Betriebssystem nicht erkennen.${NC}\n"
exit 1 exit 1
fi fi
# Funktion: Ansible-Benutzer unter RHEL/AlmaLinux/CentOS # Funktion: Ansible-Benutzer unter RHEL/AlmaLinux/CentOS
setup_rhel() { setup_rhel() {
echo "[+] RHEL/AlmaLinux erkannt Benutzer wird mit useradd erstellt" printf "${BLUE} RHEL/AlmaLinux erkannt Benutzer wird mit useradd erstellt${NC}\n"
sudo useradd -m -s /bin/bash "$USERNAME" sudo useradd -m -s /bin/bash "$USERNAME"
} }
# Funktion: Ansible-Benutzer unter Debian/Ubuntu # Funktion: Ansible-Benutzer unter Debian/Ubuntu
setup_debian() { setup_debian() {
echo "[+] Debian/Ubuntu erkannt Benutzer wird mit adduser erstellt" printf "${BLUE} Debian/Ubuntu erkannt Benutzer wird mit adduser erstellt${NC}\n"
sudo adduser --disabled-password --gecos "" "$USERNAME" sudo adduser --disabled-password --gecos "" "$USERNAME"
} }
# Funktion: Ansible-Benutzer unter Alpine # Funktion: Ansible-Benutzer unter Alpine
setup_alpine() { setup_alpine() {
echo "[+] Alpine Linux erkannt Benutzer wird mit adduser erstellt" printf "${BLUE} Alpine Linux erkannt Benutzer wird mit adduser erstellt${NC}\n"
sudo adduser -D -s /bin/sh "$USERNAME" sudo adduser -D -s /bin/sh "$USERNAME"
# Das ! aus dem Passwortfeld in /etc/shadow entfernen, um den Account zu entsperren # Das ! aus dem Passwortfeld in /etc/shadow entfernen, um den Account zu entsperren
echo "[+] Entsperre den Benutzer für SSH-Key-Authentifizierung" printf "${YELLOW} Entsperre den Benutzer für SSH-Key-Authentifizierung${NC}\n"
sudo sed -i "s/^$USERNAME:!/$USERNAME:*/" /etc/shadow sudo sed -i "s/^$USERNAME:!/$USERNAME:*/" /etc/shadow
} }
# Hauptlogik # Hauptlogik
if id "$USERNAME" &>/dev/null; then if id "$USERNAME" >/dev/null 2>&1; then
echo "[!] Benutzer $USERNAME existiert bereits überspringe Erstellung" printf "${YELLOW} Benutzer $USERNAME existiert bereits überspringe Erstellung${NC}\n"
else else
case "$OS_ID" in case "$OS_ID" in
almalinux|centos|rhel|rocky) almalinux|centos|rhel|rocky)
@@ -48,7 +56,7 @@ else
setup_alpine setup_alpine
;; ;;
*) *)
echo "[!] Nicht unterstütztes Betriebssystem: $OS_ID" printf "${RED} Nicht unterstütztes Betriebssystem: $OS_ID${NC}\n"
exit 1 exit 1
;; ;;
esac esac
@@ -65,4 +73,4 @@ sudo chown -R $USERNAME:$USERNAME /home/$USERNAME/.ssh
echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/$USERNAME > /dev/null echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/$USERNAME > /dev/null
sudo chmod 440 /etc/sudoers.d/$USERNAME sudo chmod 440 /etc/sudoers.d/$USERNAME
echo "[✓] Benutzer $USERNAME wurde erfolgreich eingerichtet." printf "${GREEN} Benutzer $USERNAME wurde erfolgreich eingerichtet.${NC}\n"