#!/bin/bash # Variablen DOMAIN="example.com" LDAP_CONF="/etc/samba/smb.conf" SSL_DIR="/etc/openldap/certs" SSL_KEY="$SSL_DIR/ldap.key" SSL_CERT="$SSL_DIR/ldap.crt" SSL_CA="$SSL_DIR/ca.crt" LDAP_PORT=389 LDAPS_PORT=636 # Überprüfen, ob das Skript als Root ausgeführt wird if [ "$EUID" -ne 0 ]; then echo "Bitte führen Sie dieses Skript als Root aus." exit 1 fi # Funktion zum Erstellen von Zertifikaten und Schlüsseln create_certificates() { mkdir -p $SSL_DIR openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -keyout $SSL_KEY -out $SSL_CERT -subj "/CN=$DOMAIN" cp $SSL_CERT $SSL_CA } # Funktion zum Importieren des Zertifikats in Samba AD DC import_certificate() { echo "Importieren des Zertifikats in Samba AD DC..." net ads tls ca import $SSL_CA } # Funktion zum Konfigurieren von Samba für die Verwendung von LDAPS configure_samba_for_ldaps() { echo "Konfigurieren von Samba für die Verwendung von LDAPS..." cat <> $LDAP_CONF # LDAPS Konfiguration tls enabled = yes tls keyfile = $SSL_KEY tls certfile = $SSL_CERT tls cafile = $SSL_CA EOT } # Funktion zum Aktualisieren der Firewall-Regeln update_firewall_rules() { echo "Aktualisieren der Firewall-Regeln..." firewall-cmd --permanent --add-port=$LDAPS_PORT/tcp firewall-cmd --reload } # Funktion zum Neustarten von Samba restart_samba() { echo "Neustarten von Samba..." systemctl restart samba-ad-dc } # Hauptprogramm create_certificates import_certificate configure_samba_for_ldaps update_firewall_rules restart_samba # Überprüfen der Konfiguration echo "Überprüfen der LDAPS-Konfiguration..." netstat -tulpen | grep :$LDAPS_PORT echo "Die Konfiguration ist abgeschlossen. LDAP verwendet jetzt LDAPS auf Port $LDAPS_PORT."