Apache mod_auth_ldap vs. Sekundärgruppe

Alles, was den Apache betrifft, kann hier besprochen werden.

Apache mod_auth_ldap vs. Sekundärgruppe

Postby w_balzer » 28. November 2005 12:29

Hallo,

ich setze gerade für meine Kumpels und mich einen Webdavshare mit LDAP-Authentifizierung auf. Soweit so gut, Authentifizierung funktioniert soweit und der Benutzer wird auch anhand seiner GID einer Gruppe zugeordnet und hat entsprechende Berechtigungen:

===============================================================
Auszug aus der httpd.conf (Funktioniert so / Rechte anhand GID)
===============================================================

<Directory /var/www/html/DAV/Foo>
DAV On
Options Indexes FollowSymLinks
AllowOverride None
order allow,deny
allow from all

LDAP_Debug On
LDAP_Server localhost
LDAP_Port 389
LDAP_Protocol_Version 3

Base_DN "ou=accounts,dc=foo,dc=de"
UID_Attr uid
Group_Attr gidNumber
SupportNestedGroups On

AuthAuthoritative Off
AuthName "Webdav Foo"
AuthType Basic

BrowserMatch "^davfs2" redirect-carefully

<Limit HEAD GET POST OPTIONS PROPFIND>
Require gidNumber 515 555 556
</Limit>

<Limit GET PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Require gidNumber 515
</Limit>

</Directory>


======================
Problem Sekundärgruppe
======================
Wenn ich jedoch den Share anhand der Gruppenzugehörigkeit (Sekundärgruppe) freigeben will, funktioniert das ganze leider nicht (Auszug aus dem error_log):

[Mon Nov 28 11:44:12 2005] [error] [client 99.99.99.99] [mod_auth_ldap.c (1083) ]- mod_auth_ldap v2.12 (compiled with OpenLDAP TLS) url: http://muquit.com/
[Mon Nov 28 11:44:12 2005] [error] [client 99.99.99.99] [mod_auth_ldap.c (1096)] - LDAP server=localhost,Port=389
[Mon Nov 28 11:44:12 2005] [error] [client 99.99.99.99] [mod_auth_ldap.c (1214)] - Using already open ldap connection: 8ff99a8, pid=18539
[Mon Nov 28 11:44:12 2005] [error] [client 99.99.99.99] [mod_auth_ldap.c (1249)] - you didn't compile with iPlanet C SDK, connect timeout will not be available
[Mon Nov 28 11:44:12 2005] [error] [client 99.99.99.99] [mod_auth_ldap.c (749) ] - Using LDAP filter: (uid=admin_demo)
[Mon Nov 28 11:44:12 2005] [error] [client 99.99.99.99] [mod_auth_ldap.c (1351)] - Bind attempt# 1, pid=18539,User DN: uid=admin_demo,ou=accounts,dc=foo,dc=de
[Mon Nov 28 11:44:12 2005] [error] [client 99.99.99.99] [mod_auth_ldap.c (1932)] - ldap attribute=group
[Mon Nov 28 11:44:12 2005] [error] [client 99.99.99.99] [mod_auth_ldap.c (1973)] - Group_Attr=memberUid
[Mon Nov 28 11:44:12 2005] [error] [client 99.99.99.99] [mod_auth_ldap.c (1977)] - Group DN:cn=foo_admin,ou=groups,dc=foo,dc=de
[Mon Nov 28 11:44:12 2005] [error] [client 99.99.99.99] [mod_auth_ldap.c] 1994 - user "admin_demo" does not belong to group "cn=foo_admin,ou=groups" directly
[Mon Nov 28 11:44:12 2005] [error] [client 99.99.99.99] [mod_auth_ldap.c (2101)] - user "admin_demo" is not allowed

>>>>
>>>> D.h. aus meiner Sicht: Der Benutzer wurde anhand seiner credentials indentifiziert, konnte jedoch nicht der/einer Gruppe zugeordnet werden.
>>>>

================================================================================
Auszug aus der httpd.conf (Funktioniert nicht/ Rechte anhand der Sekundärgruppe)
================================================================================

<Directory /var/www/html/DAV/Foo>

DAV On
Options Indexes FollowSymLinks
AllowOverride None
order allow,deny
allow from all

LDAP_Debug On
LDAP_Protocol_Version 3
Bind_Tries 5
LDAP_Server localhost
LDAP_Port 389
Base_DN "dc=foo,dc=de"
UID_Attr uid
Group_Attr memberUid
SupportNestedGroups Off

AuthAuthoritative Off
AuthName "Webdav Foo"
AuthType Basic

BrowserMatch "^davfs2" redirect-carefully

<Limit GET PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Require group "cn=foo_admin,ou=groups"
</Limit>

</Directory>


====================
Beispieluser im LDAP
====================

# admin_demo, accounts, foo, de
dn: uid=admin_demo,ou=accounts,dc=foo,dc=de
userPassword:: XXXXXXXXXXXXXX
phpgwAccountType: u
uidNumber: 527
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: phpgwAccount
phpgwAccountLastLogin: 1132939704
phpgwAccountLastLoginFrom: 99.99.99.99
cn: Alfred Adimer
uid: admin_demo
sn: Adimer
givenName: Alfred
homeDirectory: /var/www/DAV/Foo/admin_demo
loginShell: /bin/false
phpgwAccountStatus: A
phpgwAccountExpires: -1
gidNumber: 515

==================================
Beispiel der entsprechenden Gruppe
==================================

# foo_admin, groups, foo, de
dn: cn=foo_admin,ou=groups,dc=foo,dc=de
userPassword:
phpgwAccountType: g
phpgwAccountExpires: -1
objectClass: top
objectClass: posixGroup
objectClass: phpgwAccount
cn: foo_admin
gidNumber: 555
description: phpgw-created group
memberUid: admin_demo

>>>>>
>>>>> Warum kann mod_auth_ldap den User nicht in der Gruppe finden?
>>>>>


Gruss Wallace
w_balzer
 
Posts: 1
Joined: 28. November 2005 12:25

Return to Apache

Who is online

Users browsing this forum: No registered users and 6 guests