[Kolab-devel] Integration of Kolab2 and Samba

Martin Konold martin.konold at erfrakon.de
Tue Jun 12 22:48:57 CEST 2007


Am Montag 11 Juni 2007 schrieb Ingo Steuwer:

Hi Ingo,

> Don't underestimate the complexity of a minimal integration. A complex
> point are passwords: samba (or better: CIFS) needs by design it's owne t 
> hashes, so new users in Kolab nedd those hashes as well as samba has to
> change the userpasswd if a Domain User changes its password against samba.
> You also have to cover unique SIDs for the also needed Posix-Accounts
> (G)IDs and primary-group-memberships. You can't cover this with a
> "rule-based-engine" mentioned previous.

I guess that your company has a lot of experience integrating Samba and Kolab.

On the other hand I am wondering if the issues are solvable.

I propose to try to solve one after the other.

1. Password issues

1.1. Problem description

Samba/CIFS uses its own hashes to store the user password in LDAP.

1.2 Possible solution

Kolab with Samba integrated uses exclusivly Samba as a backend for 
authentification. Basically this means that SASL is not using LDAP directly 
but Samba as a backend.

2. SID/UID/GID Mapping issues

2.1. Problem description

Samba uses the Windows concept of Security Identifiers (SID) instead of the 
Unix UID and GID. The later used to be 16bit unsigned integers and are now 
extended to 32bit unsigned integers in more recent incarnations of POSIX 
operating systems. SIDs are much longer (up to 512 bytes instead of only 2/4 
bytes).

It is impossible to create an algorithmic bidirectional mapping between 
UID/GID and SIDs. 
Therefore Samba uses dynamically maintained maps as a workaround. This 
situation is suboptimal and causes many problems.

From looking at such a 16/32bit number it is not possible to decide if it is a 
UID or a GID.

On the other hand SIDs are much more expressive and selfdescribing. When 
looking at a SID you can immediately determine if it is a user or a group. In 
contrast to the limited UID/GID concept SIDs are _globally_ unique!

2.2. Possible solution

Make Kolab totally independent from UID/GID concept. Actually the number of 
places where UID/GID is used in Kolab is very limited and not really needed.


Regards,
-- martin konold

-- 
e r f r a k o n
Erlewein, Frank, Konold & Partner - Beratende Ingenieure und Physiker
Sitz: Adolfstraße 23 Stuttgart - Partnerschaftsregister Stuttgart PR 126
http://www.erfrakon.com/




More information about the devel mailing list