Add Ansible/user-anlegen.sh
This commit is contained in:
68
Ansible/user-anlegen.sh
Normal file
68
Ansible/user-anlegen.sh
Normal file
@@ -0,0 +1,68 @@
|
||||
#!/bin/bash
|
||||
USERNAME="ansible"
|
||||
SSH_KEY="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICBpQgsPoNARIuzw+YTuADA8lk7S3y9wqvPxtDAsdYbw ansible@deploy"
|
||||
|
||||
# OS-Erkennung
|
||||
if [ -f /etc/os-release ]; then
|
||||
. /etc/os-release
|
||||
OS_ID=$ID
|
||||
else
|
||||
echo "Kann Betriebssystem nicht erkennen."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Funktion: Ansible-Benutzer unter RHEL/AlmaLinux/CentOS
|
||||
setup_rhel() {
|
||||
echo "[+] RHEL/AlmaLinux erkannt – Benutzer wird mit useradd erstellt"
|
||||
sudo useradd -m -s /bin/bash "$USERNAME"
|
||||
}
|
||||
|
||||
# Funktion: Ansible-Benutzer unter Debian/Ubuntu
|
||||
setup_debian() {
|
||||
echo "[+] Debian/Ubuntu erkannt – Benutzer wird mit adduser erstellt"
|
||||
sudo adduser --disabled-password --gecos "" "$USERNAME"
|
||||
}
|
||||
|
||||
# Funktion: Ansible-Benutzer unter Alpine
|
||||
setup_alpine() {
|
||||
echo "[+] Alpine Linux erkannt – Benutzer wird mit adduser erstellt"
|
||||
sudo adduser -D -s /bin/sh "$USERNAME"
|
||||
|
||||
# Das ! aus dem Passwortfeld in /etc/shadow entfernen, um den Account zu entsperren
|
||||
echo "[+] Entsperre den Benutzer für SSH-Key-Authentifizierung"
|
||||
sudo sed -i "s/^$USERNAME:!/$USERNAME:*/" /etc/shadow
|
||||
}
|
||||
|
||||
# Hauptlogik
|
||||
if id "$USERNAME" &>/dev/null; then
|
||||
echo "[!] Benutzer $USERNAME existiert bereits – überspringe Erstellung"
|
||||
else
|
||||
case "$OS_ID" in
|
||||
almalinux|centos|rhel|rocky)
|
||||
setup_rhel
|
||||
;;
|
||||
debian|ubuntu)
|
||||
setup_debian
|
||||
;;
|
||||
alpine)
|
||||
setup_alpine
|
||||
;;
|
||||
*)
|
||||
echo "[!] Nicht unterstütztes Betriebssystem: $OS_ID"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# SSH-Verzeichnis einrichten
|
||||
sudo mkdir -p /home/$USERNAME/.ssh
|
||||
echo "$SSH_KEY" | sudo tee /home/$USERNAME/.ssh/authorized_keys > /dev/null
|
||||
sudo chmod 700 /home/$USERNAME/.ssh
|
||||
sudo chmod 600 /home/$USERNAME/.ssh/authorized_keys
|
||||
sudo chown -R $USERNAME:$USERNAME /home/$USERNAME/.ssh
|
||||
|
||||
# Sudo ohne Passwort erlauben
|
||||
echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/$USERNAME > /dev/null
|
||||
sudo chmod 440 /etc/sudoers.d/$USERNAME
|
||||
|
||||
echo "[✓] Benutzer $USERNAME wurde erfolgreich eingerichtet."
|
||||
Reference in New Issue
Block a user