====== OpenLDAP ======
* [[https://computingforgeeks.com/run-openldap-server-in-docker-containers/|How To Run OpenLDAP Server in Docker Containers]]
* OpenLDAP als Docker-Container: [[https://github.com/osixia/docker-openldap|osixia/openldap]]
===== Datenverzeichnisse =====
# Als Docker Benutzer arbeiten
su - docker
mkdir -p ~/projects/OpenLDAP
mkdir -p ~/projects/OpenLDAP/Linux-WHV
mkdir -p ~/projects/OpenLDAP/Linux-WHV/slapd/config
mkdir -p ~/projects/OpenLDAP/Linux-WHV/slapd/database
chmod 775 -R ~/projects/OpenLDAP/Linux-WHV
chown -R $USER:docker ~/projects/OpenLDAP/Linux-WHV
===== Firewall =====
ufw allow 2389/tcp
ufw allow 2636/tcp
systemctl restart ufw
ufw status
===== TLS =====
TBI
===== Serverstart =====
docker run \
-p 2389:389 \
-p 2636:636 \
--detach
--env LDAP_ORGANISATION="Linux Wilhelmshaven und Umland" \
--env LDAP_DOMAIN="linux-whv.de" \
--env LDAP_ADMIN_PASSWORD="StrongAdminPassw0rd" \
--env LDAP_BASE_DN="dc=linux-whv,dc=de" \
--hostname ldap.linux-whv.de \
--name openldap-linux-whv \
--volume ~/projects/OpenLDAP/Linux-WHV/slapd/database:/var/lib/ldap \
--volume ~/projects/OpenLDAP/Linux-WHV/slapd/config:/etc/ldap/slapd.d \
osixia/openldap:latest
docker ps
**Troubleshooting**
Container löschen:
docker rm -f openldap-linux-whv
===== Konfiguration =====
==== Anmeldung ====
Anmeldung am OpenLDAP Server mit dem [[https://directory.apache.org/studio/|Apache Directory Studio]]
Netzwerk-Paramter
Hostname:
Port: 389
Authentifizierung
Bind DN: cn=admin,dc=linux-whv,dc=de
Bind Password: StrongAdminPassw0rd
Browser Optionen
Base DN: dc=linux-whv,dc=de
==== Organisational Units ====
Es werden mindestens 2 OUs benötigt: eine für die Gruppen und eine für die Benutzer
* Auf dc=linux-whv,de=de
* Neu -> Neuer Eintrag -> Eintrag von Grund auf neu erstellen
* Objektklasse "organizationalUnit" -> Hinzufügen
* Eltern-DN: dc=linux-whv,dc=de
* RDN: ou = groups
* DN Vorschau: ou=groups,dc=linux-whv,dc=de
* Auf dc=linux-whv,de=de
* Neu -> Neuer Eintrag -> Eintrag von Grund auf neu erstellen
* Objektklasse "organizationalUnit" -> Hinzufügen
* Eltern-DN: dc=linux-whv,dc=de
* RDN: ou = users
* DN Vorschau: ou=users,dc=linux-whv,dc=de
==== Gruppen ====
* Auf ou=groups,dc=linux-whv,de=de
* Neu -> Neuer Eintrag -> Eintrag von Grund auf neu erstellen
* Objektklasse "posixGroup" -> Hinzufügen
* Eltern-DN: ou=groups,dc=linux-whv,dc=de
* RDN: cn = Linux-WHV
* DN Vorschau: cn=Linux-WHV,ou=groups,dc=linux-whv,dc=de
* gidNumber: beginnend bei 500
==== Benutzer ====
Benutzer erstellen:
* Auf ou=users,dc=linux-whv,de=de
* Neu -> Neuer Eintrag -> Eintrag von Grund auf neu erstellen
* Objektklasse "inetOrgPerson" -> Hinzufügen
* Eltern-DN: ou=users,dc=linux-whv,dc=de
* RDN: cn =
* DN Vorschau: cn=,ou=groups,dc=linux-whv,dc=de
* sn:
Daten ergänzen:
* Auf dem Benutzerobjekt: Neues Attribut
* givenName: