diff --git a/ldap.sh b/ldap.sh index 2bc80a7..1d01fa5 100644 --- a/ldap.sh +++ b/ldap.sh @@ -12,11 +12,6 @@ # 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 @@ -25,6 +20,10 @@ if [ "$(id -u)" -ne 0 ]; then exit 1 fi +# Hinzufügen von pam_mkhomedir am Anfang der Datei /etc/pam.d/common-session +echo "Hinzufügen von pam_mkhomedir zur PAM-Konfiguration..." +sed -i '1s|^|session required pam_mkhomedir.so skel=/etc/skel umask=0077\n|' /etc/pam.d/common-session + # LDAP-Server-Konfiguration LDAP_URI="ldap://192.168.174.101:7389" LDAP_BASE="dc=zell-aufmass,dc=de" @@ -34,7 +33,11 @@ LDAP_BINDPW="6%&6DdWMLzjS^i" # Installiere die benötigten Pakete für LDAP und nslcd echo "Installiere notwendige Pakete..." apt update -apt install -y libnss-ldapd libpam-ldapd ldap-utils nslcd +apt install -y libnss-ldapd libpam-ldapd ldap-utils nslcd accountsservice + +# Neustart des accounts-daemon +echo "Starte accounts-daemon neu..." +systemctl restart accounts-daemon # Konfiguriere /etc/nsswitch.conf echo "Konfiguriere /etc/nsswitch.conf..." @@ -77,32 +80,32 @@ 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..." +GRUPPE="Administrators" +echo "Füge Gruppe $GRUPPE zu Sudo-Rechten hinzu..." - # Sicherstellen, dass die Gruppe existiert - getent group $GRUPPE +# Sicherstellen, dass die Gruppe existiert +getent group $GRUPPE - # Benutzer zur Sudo-Gruppe hinzufügen - usermod -aG sudo $GRUPPE +# 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 +# Ü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 root $GRUPPE" >> /etc/ssh/sshd_config +# SSH-Zugriff für diese Gruppe aktivieren +echo "SSH-Zugriff für Gruppe $GRUPPE erlauben..." +echo "AllowGroups root $GRUPPE" >> /etc/ssh/sshd_config - # SSH-Dienst neu starten - systemctl restart ssh +# 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 +# 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." \ No newline at end of file +echo "LDAP-Integration abgeschlossen. Teste die Anmeldung über SSH oder Konsole." +reboot \ No newline at end of file