Feat: Logging mit Abfrage.
This commit is contained in:
@@ -2,46 +2,52 @@
|
||||
|
||||
# Sicherstellen, dass das Skript mit Root-Rechten ausgeführt wird
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
echo "Dieses Skript muss als root ausgeführt werden."
|
||||
echo "❌ Dieses Skript muss als root ausgeführt werden."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# SDDM-Konfigurationsdatei in sddm.conf.d erstellen
|
||||
SDDM_CONF_DIR="/etc/sddm.conf.d"
|
||||
SDDM_CUSTOM_CONF="$SDDM_CONF_DIR/custom.conf"
|
||||
mkdir -p "$SDDM_CONF_DIR"
|
||||
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
|
||||
|
||||
# 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=9999999999" >>"$SDDM_CUSTOM_CONF"
|
||||
echo "MinimumUid=1000" >>"$SDDM_CUSTOM_CONF"
|
||||
echo "HideShells=/sbin/nologin,/bin/false,/usr/sbin/nologin" >>"$SDDM_CUSTOM_CONF"
|
||||
else
|
||||
cat <<EOF >"$SDDM_CUSTOM_CONF"
|
||||
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 <<EOF >"$SDDM_CUSTOM_CONF"
|
||||
[Users]
|
||||
MaximumUid=9999999999
|
||||
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"
|
||||
|
||||
# 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
|
||||
|
||||
# SSSD und SDDM neu starten
|
||||
systemctl restart sssd
|
||||
systemctl restart sddm
|
||||
|
||||
echo "SDDM wurde so konfiguriert, dass lokale und bereits angemeldete Domänenbenutzer angezeigt werden."
|
||||
echo "✅ Konfiguration von SDDM und sssd abgeschlossen!"
|
||||
|
||||
Reference in New Issue
Block a user