ldap.sh aktualisiert

This commit is contained in:
sebastian.zell 2024-12-31 09:51:38 +00:00
parent adb3db3631
commit 7ca774e954
1 changed files with 52 additions and 1 deletions

53
ldap.sh
View File

@ -29,6 +29,7 @@ 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"
SSSD_CONF="/etc/sssd/sssd.conf"
# Installiere die benötigten Pakete für LDAP und nslcd
echo "Installiere notwendige Pakete..."
@ -108,4 +109,54 @@ echo "%$GRUPPE ALL=(ALL:ALL) ALL" >> /etc/sudoers
# Abschluss
echo "LDAP-Integration abgeschlossen. Teste die Anmeldung über SSH oder Konsole."
reboot
systemctl stop nscd
systemctl disable nscd
echo "Installiere SSSD und erforderliche Pakete..."
sudo apt update
sudo apt install -y sssd sssd-tools libnss-sss libpam-sss ldap-utils
echo "SSSD erfolgreich installiert."
echo "Konfiguriere SSSD..."
sudo bash -c "cat > $SSSD_CONF" <<EOF
[sssd]
services = nss, pam
domains = ldap
[domain/ldap]
id_provider = ldap
auth_provider = ldap
ldap_uri = $LDAP_URI
ldap_search_base = $LDAP_BASE
ldap_default_bind_dn = $LDAP_BINDDN
ldap_default_authtok = $LDAP_BINDPW
cache_credentials = true
enumerate = false
EOF
sudo chmod 600 $SSSD_CONF
echo "SSSD-Konfigurationsdatei erstellt."
echo "Aktualisiere /etc/nsswitch.conf..."
sudo sed -i 's/passwd:.*/passwd: files sss/' /etc/nsswitch.conf
sudo sed -i 's/group:.*/group: files sss/' /etc/nsswitch.conf
sudo sed -i 's/shadow:.*/shadow: files sss/' /etc/nsswitch.conf
echo "nsswitch.conf aktualisiert."
echo "Konfiguriere PAM..."
sudo sed -i '/pam_sss.so/d' /etc/pam.d/common-auth
sudo sed -i '/pam_deny.so/a auth [success=1 default=ignore] pam_sss.so use_first_pass' /etc/pam.d/common-auth
echo "PAM-Konfiguration abgeschlossen."
echo "Starte SSSD-Dienst neu..."
sudo systemctl restart sssd
sudo systemctl enable sssd
echo "SSSD-Dienst neu gestartet."
echo "Teste SSSD mit LDAP-Benutzer..."
getent passwd sebastian.zell
if [[ $? -eq 0 ]]; then
echo "SSSD funktioniert einwandfrei."
else
echo "Fehler: SSSD konnte den Benutzer nicht finden."
fi