56 lines
1.7 KiB
Bash
56 lines
1.7 KiB
Bash
#!/bin/bash
|
|
|
|
# LDAP-Server-Konfiguration
|
|
LDAP_URI="ldap://192.168.174.101:7389"
|
|
LDAP_BASE="dc=zell-aufmass,dc=de"
|
|
LDAP_BINDDN="uid=Administrator,cn=users,dc=zell-aufmass,dc=de"
|
|
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
|
|
|
|
# Konfiguriere /etc/nsswitch.conf
|
|
echo "Konfiguriere /etc/nsswitch.conf..."
|
|
sed -i 's/^passwd:.*/passwd: compat ldap/' /etc/nsswitch.conf
|
|
sed -i 's/^group:.*/group: compat ldap/' /etc/nsswitch.conf
|
|
sed -i 's/^shadow:.*/shadow: compat ldap/' /etc/nsswitch.conf
|
|
|
|
# Konfiguriere /etc/nslcd.conf
|
|
echo "Konfiguriere /etc/nslcd.conf..."
|
|
cat > /etc/nslcd.conf <<EOF
|
|
# URI des LDAP-Servers
|
|
uri $LDAP_URI
|
|
|
|
# Basis-DN für die Suche
|
|
base $LDAP_BASE
|
|
|
|
# Bind-DN und Passwort für die Authentifizierung
|
|
binddn $LDAP_BINDDN
|
|
bindpw $LDAP_BINDPW
|
|
|
|
# Verhindere DNS-Auflösung für LDAP-Anfragen, da dies manchmal zu Problemen führen kann
|
|
# nsswitch_use_dns no
|
|
EOF
|
|
|
|
# Starte den nslcd-Dienst neu
|
|
echo "Starte den nslcd-Dienst neu..."
|
|
systemctl restart nslcd
|
|
|
|
# Überprüfe, ob der nslcd-Dienst läuft
|
|
echo "Überprüfe den Status von nslcd..."
|
|
systemctl status nslcd
|
|
|
|
# Überprüfen der LDAP-Integration
|
|
echo "Überprüfe, ob Benutzer und Gruppen aus LDAP korrekt angezeigt werden..."
|
|
getent passwd
|
|
getent group
|
|
|
|
# Überprüfen, ob lokale Benutzer angezeigt werden
|
|
echo "Überprüfe, ob lokale Benutzer korrekt angezeigt werden..."
|
|
getent passwd | grep -i 'debian' # Beispiel: Filtern nach einem lokalen Benutzer
|
|
|
|
# Abschluss
|
|
echo "LDAP-Integration abgeschlossen. Teste die Anmeldung über SSH oder Konsole."
|