ldap.sh aktualisiert

This commit is contained in:
sebastian.zell 2024-12-29 23:57:58 +00:00
parent 8ea35b1ac5
commit b5c3bbe952
1 changed files with 30 additions and 27 deletions

55
ldap.sh
View File

@ -12,11 +12,6 @@
# 4. Konfiguration der Datei `/etc/nslcd.conf`, um die Verbindung zum LDAP-Server herzustellen. # 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. # 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. # 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 # Überprüfen, ob das Skript als root ausgeführt wird
@ -25,6 +20,10 @@ if [ "$(id -u)" -ne 0 ]; then
exit 1 exit 1
fi 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-Server-Konfiguration
LDAP_URI="ldap://192.168.174.101:7389" LDAP_URI="ldap://192.168.174.101:7389"
LDAP_BASE="dc=zell-aufmass,dc=de" 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 # Installiere die benötigten Pakete für LDAP und nslcd
echo "Installiere notwendige Pakete..." echo "Installiere notwendige Pakete..."
apt update 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 # Konfiguriere /etc/nsswitch.conf
echo "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 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 und SSH-Zugriff konfigurieren
# LDAP-Gruppe für Sudo-Rechte hinzufügen (Ändere 'Administrators' auf die gewünschte Gruppe) GRUPPE="Administrators"
GRUPPE="Administrators" echo "Füge Gruppe $GRUPPE zu Sudo-Rechten hinzu..."
echo "Füge Gruppe $GRUPPE zu Sudo-Rechten hinzu..."
# Sicherstellen, dass die Gruppe existiert # Sicherstellen, dass die Gruppe existiert
getent group $GRUPPE getent group $GRUPPE
# Benutzer zur Sudo-Gruppe hinzufügen # Benutzer zur Sudo-Gruppe hinzufügen
usermod -aG sudo $GRUPPE usermod -aG sudo $GRUPPE
# Überprüfen, ob der SSH-Daemon installiert ist # Überprüfen, ob der SSH-Daemon installiert ist
if ! dpkg -l | grep -q openssh-server; then if ! dpkg -l | grep -q openssh-server; then
echo "OpenSSH-Server ist nicht installiert. Installiere es jetzt..." echo "OpenSSH-Server ist nicht installiert. Installiere es jetzt..."
apt update && apt install -y openssh-server apt update && apt install -y openssh-server
fi fi
# SSH-Zugriff für diese Gruppe aktivieren # SSH-Zugriff für diese Gruppe aktivieren
echo "SSH-Zugriff für Gruppe $GRUPPE erlauben..." echo "SSH-Zugriff für Gruppe $GRUPPE erlauben..."
echo "AllowGroups root $GRUPPE" >> /etc/ssh/sshd_config echo "AllowGroups root $GRUPPE" >> /etc/ssh/sshd_config
# SSH-Dienst neu starten # SSH-Dienst neu starten
systemctl restart ssh systemctl restart ssh
# Root-Rechte der Gruppe zuweisen (sudo erlauben) # Root-Rechte der Gruppe zuweisen (sudo erlauben)
echo "Root-Rechte für Gruppe $GRUPPE (über Sudo) zuweisen..." echo "Root-Rechte für Gruppe $GRUPPE (über Sudo) zuweisen..."
echo "%$GRUPPE ALL=(ALL:ALL) ALL" >> /etc/sudoers echo "%$GRUPPE ALL=(ALL:ALL) ALL" >> /etc/sudoers
# Abschluss # Abschluss
echo "LDAP-Integration abgeschlossen. Teste die Anmeldung über SSH oder Konsole." echo "LDAP-Integration abgeschlossen. Teste die Anmeldung über SSH oder Konsole."
reboot