#!/bin/bash # Sicherstellen, dass das Skript mit Root-Rechten ausgeführt wird if [[ $EUID -ne 0 ]]; then echo "❌ Dieses Skript muss als root ausgeführt werden." exit 1 fi read -p "❓ Soll SDDM so konfiguriert werden, dass Domänenbenutzer angezeigt werden? (j/n) [n]: " answer answer=${answer,,} # In Kleinbuchstaben umwandeln answer=${answer:-n} # Standardwert 'n', falls leer if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then # SDDM-Konfigurationsdatei in sddm.conf.d erstellen SDDM_CONF_DIR="/etc/sddm.conf.d" SDDM_CUSTOM_CONF="$SDDM_CONF_DIR/ad_login.conf" mkdir -p "$SDDM_CONF_DIR" # Bestehende Konfiguration sichern und anpassen if [[ -f "$SDDM_CUSTOM_CONF" ]]; then sed -i '/MaximumUid/d' "$SDDM_CUSTOM_CONF" sed -i '/MinimumUid/d' "$SDDM_CUSTOM_CONF" sed -i '/HideShells/d' "$SDDM_CUSTOM_CONF" echo "MaximumUid=99999999999999999999" >>"$SDDM_CUSTOM_CONF" echo "MinimumUid=1000" >>"$SDDM_CUSTOM_CONF" echo "HideShells=/sbin/nologin,/bin/false,/usr/sbin/nologin" >>"$SDDM_CUSTOM_CONF" else cat <"$SDDM_CUSTOM_CONF" [Users] MaximumUid=999999999999999999 MinimumUid=1000 HideShells=/sbin/nologin,/bin/false,/usr/sbin/nologin EOF fi # SSSD-Konfiguration anpassen, falls die Datei existiert SSSD_CONF="/etc/sssd/sssd.conf" if [[ -f "$SSSD_CONF" ]]; then if grep -q "^enumerate" "$SSSD_CONF"; then sed -i 's/^enumerate.*/enumerate = false/' "$SSSD_CONF" else echo "enumerate = false" >>"$SSSD_CONF" fi # Berechtigungen für SSSD-Konfigurationsdatei setzen chmod 600 "$SSSD_CONF" fi # SSSD und SDDM neu starten systemctl restart sssd systemctl restart sddm fi echo "✅ Konfiguration von SDDM und sssd abgeschlossen!"