Kolab extension companionGroup for posixGroup functionality

Christian Rößler Roessler at FuH-E.de
Tue May 11 12:16:42 CEST 2010


Hallo Gunnar,

>> https://wiki.kolab.org/index.php/Kolab2_Integration_with_posixGroup
>> from german to english.
> Thanks a lot!

:)

> I started adding some minor fixes until the first questions popped up.
> I only looked briefly at the scripts you uploaded and I guess I could
> extract the information from there but I assumed it is easier to ask in
> plain text.

Please take another look - I have found to nice show-stopper bugs two
days after uploading. Sorry for that.

And also I have to excuse myself for another thing: I have thought I
would find more time to document it on the wiki, alas - I found it not.

> You seem to define all attributes available in posixGroup also in
> companionGroup (except the cn). Why do you actually associate a
> companionGroup to a Kolab user or a Kolab group (distribution list).
> Wouldn't it be sufficient to declare a completely new posixGroup that
> is independent of the Kolab user/group?

Yes, in principle it would be entirely possible to declare an
independent posixGroup. But then more than one point of management would
be needed; my intention is to have just a single point, so to say.

Another point would be a migration problem: Until now email group
functionality was handled by (Suse Linux email server) alias entries to
posixAccount. This too was translated (in a way): If a 'companion'
posixGroup is built, also a kolab mail group (kolabGroupOfNames) is made.

> What kind of information does the companionGroup draw from the Kolab
> user/group it is associated to?

Well, let's have an example (I will talk about that kolabUseMail later):

Here the kolab group:

dn: cn=test test,cn=groups,dc=kolab,dc=xxxxx,dc=de
kolabHomeServer: kolab.xxxxx.de
objectClass: top
objectClass: person
objectClass: inetOrgPerson
objectClass: kolabInetOrgPerson
objectClass: companionGroup
sn: test
cn: test test
givenName: test
mail: _tst at kolab.xxx.de
uid: tst
generateCompanionGroup: 1
descriptionCompanionGroup: dghfdghdfgh
gidCompanionGroup: 852
kolabInvitationPolicy: ACT_MANUAL
membersCompanionGroup: kro,kse

generateCompanionGroup is set to 1 (generate), so a companion posixGroup
will be built:

dn: cn=tst,cn=groups,dc=kolab,dc=xxxxx,dc=de
objectClass: top
objectClass: posixGroup
cn: tst
gidNumber: 852
description:: ZGdoZmRnaGRmZ2gK
memberUid: kro
memberUid: kse

-> cn: generated from kolab group mail entry minus leading underscore to
@ sign - this was a local requirement here. But it would be very trivial
to get this from kolab group uid
-> gidNumber: from kolab group gidCompanionGroup
-> description: likewise from descriptionCompanionGroup

Also a kolam mail group will be built:

dn: cn=tst at kolab.xxxxx.de,dc=kolab,dc=xxxxx,dc=de
objectClass: kolabGroupOfNames
cn: tst at kolab.xxxxx.de
mail: tst at kolab.xxxxx.de
member: cn=Kontact Roe,dc=kolab,dc=xxxxx,dc=de
member: cn=Kontact Sek,dc=kolab,dc=xxxxx,dc=de

-> member(s): from ldapsearch: uid search for membersCompanionGroup
-> mail: from cn:


Does that help a bit? Please let me know any question you might have!

Best regards,
Christian




More information about the users mailing list