<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Ldap – teqqy</title><link>https://www.teqqy.de/tags/ldap/</link><description>Ein Blog über Technik und mehr</description><language>de</language><managingEditor>teqqy</managingEditor><lastBuildDate>Thu, 16 Jul 2026 10:53:16 +0000</lastBuildDate><generator>Hugo 0.164.0</generator><atom:link href="https://www.teqqy.de/tags/ldap/index.xml" rel="self" type="application/rss+xml"/><item><title>ecoDMS LDAP authentifizierung mit FreeIPA</title><link>https://www.teqqy.de/2019-08-ecodms-ldap-authentifizierung-mit-freeipa/</link><pubDate>Sun, 04 Aug 2019 14:24:59 +0200</pubDate><lastBuildDate>Sun, 04 Aug 2019 14:24:59 +0200</lastBuildDate><guid isPermaLink="true">https://www.teqqy.de/2019-08-ecodms-ldap-authentifizierung-mit-freeipa/</guid><description>EcoDMS (externer Link) ist ein kostengünstiges Dokumenten Management System das auch für den heimischen Gebrauch sehr interessant ist. EcoDMS lässt sich auch an LDAP (externer Link) bzw. Active Directory anbinden. Allerdings ist die Verbindung zwischen ecoDMS und FreeIPA ein wenig mehr Trickserei. Entsprechend möchte ich hierbei eine Hilfestellung geben.</description><content:encoded>&lt;![CDATA[<p><a href="https://www.ecodms.de/index.php/de/" target="_blank" rel="noopener noreferrer">EcoDMS<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
ist ein kostengünstiges Dokumenten Management System das auch für den heimischen Gebrauch sehr interessant ist. EcoDMS lässt sich auch an<a href="https://old.teqqy.de/icingaweb2-mit-freeipa-verbinden/" target="_blank" rel="noopener noreferrer">LDAP<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
bzw. Active Directory anbinden. Allerdings ist die Verbindung zwischen ecoDMS und FreeIPA ein wenig mehr Trickserei. Entsprechend möchte ich hierbei eine Hilfestellung geben.</p><h2 id="serviceaccount-für-ldap-queries">ServiceAccount für LDAP Queries<a href="#serviceaccount-f%c3%bcr-ldap-queries" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Mit diesem Benutzer werden wir anschließend den Zugriff auf das LDAP durchführen.</p><h2 id="ecodms-mit-freeipa-verbinden">ecoDMS mit FreeIPA verbinden<a href="#ecodms-mit-freeipa-verbinden" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Nun öffnen wir den ecoDMS Client mit einem Administratoraccount und wählen in der Menüleise die Benutzerverwaltung. Im unten Bereich des neuen Fensters klicken wir auf „<em><strong>LDAP/Active Directory</strong></em>„</p><p>Hier klicken wir auf neu, vergeben einen aussagekräftigen Namen und wählen LDAP als Typ aus. Nun müssen wir die Verbindungseigenschaften der Verbindung konfigurieren.</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>URL: ldap://{FQDN des FreeIPA Servers}
Basis DN: dc=example,dc=com
Benutzer DN: uid={Benutzername Serviceaccount},cn=users,cn=accounts,dc=example,dc=com
Passwort: {Passwort des Serviceaccounts}
Such DN: {cn=users,cn=accounts}
Filter: (objectclass=person)
UID Feld: uid</code></pre></div><p>Du musst von diesen Feldern natürlich alles in den geschleiften Klammern auf deine Umgebung anpassen. Der Such DN und der Filter ließen sich natürlich auch noch etwas enger zusammen fassen. Solltest du ecoDMS in einer Firma einrichten, wäre es entsprechend hier auch sinnvoll. Da wir nur zwei Personen sind, die darauf zugreifen, mache ich mir hier nicht die Arbeit.</p><p>Als letzten Schritt weist du noch die Rechte zu, welche diese Benutzer bekommen. Dies kann ich dir nicht vorgeben, weil es je nach Umgebung unterschiedlich ist.</p>
]]></content:encoded><category>ldap</category><category>homelab</category></item><item><title>ICINGAWEB2 FreeIPA Konfiguration</title><link>https://www.teqqy.de/icingaweb2-freeipa-konfiguration/</link><pubDate>Fri, 02 Aug 2019 00:01:12 +0200</pubDate><lastBuildDate>Fri, 02 Aug 2019 00:01:12 +0200</lastBuildDate><guid isPermaLink="true">https://www.teqqy.de/icingaweb2-freeipa-konfiguration/</guid><description>Wenn du mir schon länger folgst weißt du, dass ich mein Homelab mit ICINGA2 monitore und damit alles im Blick behalte. Seit kurzem setze ich auch FreeIPA als Identity Management ein, also musste ich noch ICINGAWEB2 mit FreeIPA (externer Link) verbinden. Anfangs kein so leichtes unterfangen. Dieses Tutorial hilft dir aber bei deiner ICINGAWEB2 FreeIPA Konfiguration.</description><content:encoded>&lt;![CDATA[<p>Wenn du mir schon länger folgst weißt du, dass ich mein Homelab mit ICINGA2 monitore und damit alles im Blick behalte. Seit kurzem setze ich auch FreeIPA als Identity Management ein, also musste ich noch ICINGAWEB2 mit<a href="https://www.freeipa.org/page/Main_Page" target="_blank" rel="noopener noreferrer">FreeIPA<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
verbinden. Anfangs kein so leichtes unterfangen. Dieses Tutorial hilft dir aber bei deiner ICINGAWEB2 FreeIPA Konfiguration.</p><p>Die Installation von<a href="https://github.com/Icinga/icingaweb2" target="_blank" rel="noopener noreferrer">ICINGAWEB2<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
kann ganz regulär nach<a href="https://icinga.com/docs/icingaweb2/latest/" target="_blank" rel="noopener noreferrer">offizieller Anleitung<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
durchgeführt werden. Spannend wird es erst, wenn wir das Frontend einrichten möchten. Als Backend nehmen wir entsprechend LDAP und lassen im nächsten Schritt auch schon über Eingabe der Domäne alle Einstellungen suchen.</p><p><img src="/icingaweb2-freeipa-konfiguration/images/homelab-monitoring-icinga2_hu_a2bf32042e3dfb58.webp" srcset="/icingaweb2-freeipa-konfiguration/images/homelab-monitoring-icinga2_hu_6138cf7de6d30b6a.webp 384w, /icingaweb2-freeipa-konfiguration/images/homelab-monitoring-icinga2_hu_a2bf32042e3dfb58.webp 768w, /icingaweb2-freeipa-konfiguration/images/homelab-monitoring-icinga2_hu_ce6421b679649607.webp 1536w" sizes="(max-width: 768px) 100vw, 768px" alt="ICINGAWEB2 mit FreeIPA verbinden" loading="lazy" fetchpriority="auto" decoding="async" width="768" height="487"/><p>Eines noch Vorweg: Das ICINGA2 Buch hat mir immer sehr geholfen das System besser zu verstehen und viele Konfigurationen und Anpassungen leicht zu meistern. Solltest du frisch in das Thema einsteigen empfehle ich dir das Buch zu kaufen.</p><p>Dies funktioniert natürlich am Besten, wenn man FreeIPA auch direkt als DNS Server einsetzt. Andernfalls kann es sein, dass die Daten nicht korrekt gezogen werden. Eine Anpassung des<a href="/2019-01-adguard-home-vs-pihole/">DNS</a>
am ICINGA2 Host ist anschließend notwenig.</p><p>Die Einrichtung kann man sogar, wenn man nichts besonderes konfigurieren möchte, einfach immer weiter klicken. Die Konfiguration erfolgt mit dem neuen ICINGAWEB2 Installer fast automatisch.</p><p>Nach komplett abgeschlossener Einrichtung müssen wir allerdings noch die<em>roles.ini</em> Datei anpassen.</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>[Administrators]
users = "username@domain.tld"
permissions = "*"</code></pre></div><p>Wer möchte passt natürlich noch die Berechtigungen an. In diesem Beispiel ist das mein Administrator-Benutzer, der soll natürlich alle Berechtigungen haben.</p><p>Nun können wir über das Frontend bei ICINGAWEB2 anmelden. Als Benutzername müsst ihr den vollqualifizierten Nutzername verwenden. Wie oben in der roles.ini also z. B.</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>username@domain.tld</code></pre></div><p>Mit dem entsprechenden Passwort zusätzlich eingegeben, habt ihr ein erfolgreichen Login bestritten. Zum Vergleich zeige ich euch noch meine anderen Konfigurationsdateien.</p><h2 id="meine-icingaweb2-freeipa-konfiguration">Meine ICINGAWEB2 FreeIPA Konfiguration<a href="#meine-icingaweb2-freeipa-konfiguration" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Zum Vergleich zeige ich euch noch meine anderen Konfigurationsdateien. Damit sollte es für dich auch möglich sein eine korrekte Verbindung zu FreeIPA durchzuführen.</p><h4 id="authenticationini">authentication.ini<a href="#authenticationini" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h4><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>[icingaweb2]
user_class = "inetOrgPerson"
filter = ""
user_name_attribute = "uid"
backend = "ldap"
base_dn = "dc=example,dc=com"
domain = "example.com"
resource = "icingaweb_ldap"</code></pre></div><h4 id="groupsini">groups.ini<a href="#groupsini" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h4><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>[icingaweb2]
resource = "icingaweb_ldap"
user_backend = "icingaweb2"
group_class = "group"
group_filter = ""
group_name_attribute = "gid"
group_member_attribute = "
member"base_dn = ""
backend = "ldap"</code></pre></div><h4 id="ressourcesini">ressources.ini<a href="#ressourcesini" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h4><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>[icingaweb_ldap]
type = "ldap"
hostname = "dc.example.com"
port = "389"
encryption = "none"
root_dn = "dc=example,dc=com"
bind_dn = ""
bind_pw = ""
timeout = "5"</code></pre></div><p>Anschließend sollte der Login problemlos klappen.</p>
]]></content:encoded><category>icinga2</category><category>ldap</category><category>monitoring</category></item></channel></rss>