{"id":24,"date":"2007-04-12T19:12:32","date_gmt":"2007-04-12T17:12:32","guid":{"rendered":"http:\/\/www.instruyete.org\/?p=24"},"modified":"2007-04-12T19:12:32","modified_gmt":"2007-04-12T17:12:32","slug":"apache-ldap-require-group","status":"publish","type":"post","link":"https:\/\/www.instruyete.org\/?p=24","title":{"rendered":"Apache + LDAP + require group"},"content":{"rendered":"<p>ist ein Albtraum \ud83d\ude41<br \/>\nW\u00e4hrend die Bereitstellung von Gruppeninformationen via openLDAP \u00fcber die PAM-Module nur den Eintrag <em>objectClass: posixGroup<\/em> in der LDAP Datenbank ben\u00f6tigte, ignoriert Apache (alle Versionen) bei der Gruppenidentifizierung diesen Eintrag und verlang stattdessen <em>objectClass: groupOfNames<\/em>.<\/p>\n<p>Dieses Problem hat man sich sofort eingehandelt wenn der Zugriff auf den Webserver via WebDAV &#8211; oftmals bei subversion Repositories &#8211; erfolgt. Folgendes Beispiel wird niemanden aus der Gruppe <em>mygroup<\/em> authentifizieren, solange diese in der LDAP Datenbank nur von <em>objectClass: posixGroup<\/em> abgeleitet ist.<\/p>\n<pre>...<\/pre>\n<pre>DAV svn<\/pre>\n<pre>SVNPath \/var\/svn\/test1<\/pre>\n<pre>...<\/pre>\n<pre>AuthName \"Subversion Repository test1\"<\/pre>\n<pre>AuthType Basic<\/pre>\n<pre>AuthLDAPURL ldap:\/\/myhost\/o=myorg,c=de?uid?sub<\/pre>\n<pre>require group cn=mygroup,ou=groups,o=myorg,c=de<\/pre>\n<pre>... ...<\/pre>\n<p>Folgende rot gekennzeichnete \u00c4nderungen sind in der LDAP db n\u00f6tig (hier ein .ldif Auszug):<\/p>\n<table>\n<tr>\n<td>dn<\/td>\n<td>cn=mygroup,ou=groups,o=myorg,c=de<\/td>\n<\/tr>\n<tr>\n<td><font color=\"red\">objectClass<\/font><\/td>\n<td><font color=\"red\">top<\/font><\/td>\n<\/tr>\n<tr>\n<td><font color=\"red\">objectClass<\/font><\/td>\n<td><font color=\"red\">groupOfNames<\/font><\/td>\n<\/tr>\n<tr>\n<td>objectClass<\/td>\n<td>posixGroup<\/td>\n<\/tr>\n<tr>\n<td><font color=\"red\">member<\/font><\/td>\n<td><font color=\"red\">cn=mymember,ou=people,ou=mydepartment,o=myorg,c=de<\/font><\/td>\n<\/tr>\n<tr>\n<td>memberUid<\/td>\n<td>mymember<\/td>\n<\/tr>\n<tr>\n<td>cn<\/td>\n<td>mygroup<\/td>\n<\/tr>\n<tr>\n<td>gidNumber<\/td>\n<td>600<\/td>\n<\/tr>\n<\/table>\n<p>Leider meldet die LDAP Datenbank beim einf\u00fcgen\/modifizieren eine &#8222;class violation&#8220;.<br \/>\nDer Grund ist dass anstatt des <strong>nis.schema<\/strong> das <strong>rfc2307bis.schema<\/strong> geladen werden muss. Beide sind inkompatibel zueinander. Nach dem Wechsel des Schemas m\u00fcssen aber alle Gruppen sofort angepasst werden. Siehe dazu auch<\/p>\n<ul>\n<li><a target=\"_blank\" title=\"Mapping users\/groups from OpenLDAP\" href=\"http:\/\/support.kerio.com\/index.php?_m=knowledgebase&#038;_a=viewarticle&#038;kbarticleid=409\">Mapping users\/groups from OpenLDAP<\/a><\/li>\n<li><a target=\"_blank\" title=\"LDAP Nutzerverwaltung\" href=\"http:\/\/www.htw-dresden.de\/~s51067\/uni\/ldap\/LDAP_VORTRAG.HTML\">LDAP Nutzerverwaltung<\/a><\/li>\n<\/ul>\n<p>Und wenn man alles umgestellt hat wird die Frage nach den Neueintr\u00e4gen bleiben, denn ein beliebiges LDAP-Frontend wird bei der Gruppenverwaltung nicht beide objectClass Eintr\u00e4ge verwalten. So zumindest auch <a target=\"_blank\" title=\"GOSA\" href=\"https:\/\/www.gosa-project.org\/index.php\">GOSA<\/a>.<br \/>\nEs soll aber laut <a target=\"_blank\" title=\"Nabble - LDAP &#038; Benutzergruppen\" href=\"http:\/\/www.nabble.com\/LDAP---Benutzergruppen-t3441164s3741.html\">Nabble &#8211; LDAP &#038; Benutzergruppen<\/a> ein Patch existieren, den ich bislang noch nicht ausprobieren konnte.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ist ein Albtraum \ud83d\ude41 W\u00e4hrend die Bereitstellung von Gruppeninformationen via openLDAP \u00fcber die PAM-Module nur den Eintrag objectClass: posixGroup in der LDAP Datenbank ben\u00f6tigte, ignoriert Apache (alle Versionen) bei der Gruppenidentifizierung diesen Eintrag und verlang stattdessen objectClass: groupOfNames. Dieses Problem hat man sich sofort eingehandelt wenn der Zugriff auf den Webserver via WebDAV &#8211; oftmals &hellip; <a href=\"https:\/\/www.instruyete.org\/?p=24\" class=\"more-link\"><span class=\"screen-reader-text\">Apache + LDAP + require group<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-24","post","type-post","status-publish","format-standard","hentry","category-unix"],"_links":{"self":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/posts\/24","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=24"}],"version-history":[{"count":0,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/posts\/24\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=24"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=24"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=24"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}