ldap.sh aktualisiert
This commit is contained in:
parent
165ce1454c
commit
a4c69e719a
58
ldap.sh
58
ldap.sh
|
|
@ -1,5 +1,30 @@
|
||||||
#!/bin/bash
|
#!/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-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"
|
||||||
|
|
@ -51,5 +76,36 @@ getent group
|
||||||
echo "Überprüfe, ob lokale Benutzer korrekt angezeigt werden..."
|
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 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
|
# Abschluss
|
||||||
echo "LDAP-Integration abgeschlossen. Teste die Anmeldung über SSH oder Konsole."
|
echo "LDAP-Integration abgeschlossen. Teste die Anmeldung über SSH oder Konsole."
|
||||||
Loading…
Reference in New Issue