Update Ansible/user-anlegen.sh
This commit is contained in:
@@ -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"
|
||||||
Reference in New Issue
Block a user