diff --git a/ldap.sh b/ldap.sh index ec97915..2a442e9 100644 --- a/ldap.sh +++ b/ldap.sh @@ -1,5 +1,30 @@ #!/bin/bash +# -------------------------------------------------------------- +# Betriebsanleitung für das LDAP-Integrations-Skript +# -------------------------------------------------------------- +# Dieses Skript richtet die LDAP-Integration auf einem Debian 12 System ein. +# Es stellt sicher, dass sowohl lokale als auch LDAP-Benutzer korrekt abgerufen werden können. +# Folgende Schritte werden durchgeführt: +# 1. Überprüfung, ob das Skript mit Root-Rechten ausgeführt wird. +# 2. Installation der notwendigen Pakete für LDAP-Integration und `nslcd`. +# 3. Konfiguration der Datei `/etc/nsswitch.conf`, um sowohl lokale als auch LDAP-Benutzer zu verwenden. +# 4. Konfiguration der Datei `/etc/nslcd.conf`, um die Verbindung zum LDAP-Server herzustellen. +# 5. Neustart des `nslcd`-Dienstes und Überprüfung der LDAP-Integration. +# 6. Überprüfung der Benutzer und Gruppen, um sicherzustellen, dass sie korrekt angezeigt werden. +# +# Wichtige Hinweise: +# - Das Skript muss mit Root-Rechten ausgeführt werden. Falls dies nicht der Fall ist, wird es automatisch beendet. +# - Die Konfiguration von `nslcd.conf` und `nsswitch.conf` muss korrekt sein, damit die LDAP-Integration funktioniert. +# - Prüfen Sie die Systemprotokolle, falls es beim Start von `nslcd` Fehler gibt. +# -------------------------------------------------------------- + +# Überprüfen, ob das Skript als root ausgeführt wird +if [ "$(id -u)" -ne 0 ]; then + echo "Dieses Skript muss mit Root-Rechten ausgeführt werden!" + exit 1 +fi + # LDAP-Server-Konfiguration LDAP_URI="ldap://192.168.174.101:7389" LDAP_BASE="dc=zell-aufmass,dc=de" @@ -51,5 +76,36 @@ getent group echo "Überprüfe, ob lokale Benutzer korrekt angezeigt werden..." getent passwd | grep -i 'debian' # Beispiel: Filtern nach einem lokalen Benutzer +# LDAP-Gruppe für Sudo-Rechte und SSH-Zugriff konfigurieren + # LDAP-Gruppe für Sudo-Rechte hinzufügen (Ändere 'Administrators' auf die gewünschte Gruppe) + GRUPPE="Administrators" + echo "Füge Gruppe $GRUPPE zu Sudo-Rechten hinzu..." + + # Sicherstellen, dass die Gruppe existiert + if ! getent group $GRUPPE > /dev/null; then + echo "Die Gruppe '$GRUPPE' existiert nicht. Bitte sicherstellen, dass die Gruppe korrekt ist." + exit 1 + fi + + # Benutzer zur Sudo-Gruppe hinzufügen + usermod -aG sudo $GRUPPE + + # Überprüfen, ob der SSH-Daemon installiert ist + if ! dpkg -l | grep -q openssh-server; then + echo "OpenSSH-Server ist nicht installiert. Installiere es jetzt..." + apt update && apt install -y openssh-server + fi + + # SSH-Zugriff für diese Gruppe aktivieren + echo "SSH-Zugriff für Gruppe $GRUPPE erlauben..." + echo "AllowGroups $GRUPPE" >> /etc/ssh/sshd_config + + # SSH-Dienst neu starten + systemctl restart ssh + + # Root-Rechte der Gruppe zuweisen (sudo erlauben) + echo "Root-Rechte für Gruppe $GRUPPE (über Sudo) zuweisen..." + echo "%$GRUPPE ALL=(ALL:ALL) ALL" >> /etc/sudoers + # Abschluss -echo "LDAP-Integration abgeschlossen. Teste die Anmeldung über SSH oder Konsole." +echo "LDAP-Integration abgeschlossen. Teste die Anmeldung über SSH oder Konsole." \ No newline at end of file