latest passdb checkins

Simo Sorce simo.sorce at polimi.it
Tue Nov 21 13:52:35 GMT 2000


Gerald Carter wrote:
> 
> Folks,
> 
> With the latest checkins of passdb changes to HEAD,
> logon scripts are broken for WinNT clients of a Samba
> domain.  I know this and am working on fixing it.
> Logon scripts do currently work for Win9x clients
> logging into a Samba domain.
> 
> Also, I have reworked the TDB passdb backend.  In doing so,
> I realized that this DBM is to limited for a passdb.
> Thus the "T" meaning "Trivial".  We need a more robust DBM
> with transactional support and multiple indexes for searching.
> Right now, the Berkely DB looks like a good replacement.
> The Gnu DBM may be another possibility, but I have not explored
> it as much.
> 
> The TDB passdb is only as a reference implementation.  Please
> do not use it in production.  But then again why would you
> be running HEAD branch code in production anyways, right?
> 
> So it's late and I'm tired.  Gone to bed now.  More tomorrow.
>
 
Hi, when I created it I hit the problem the tdb has only one index.
We may change to GnuDBM or BerkeleyDBM (just reading the implementation,
but which platforms we will cut using this DBs ?), but I think a way to
use TDB and act as it is a multi indexed database may be achieved!
we really need to find data only in 3 ways:
1. search for username
2. search for rid
3. search for uid

We may implement an interface built this way:
choose which search is more frequent and store the SAM_ACCOUNT structure
with a key referencing that: If the searche by username is most frequent
we store the SAM_ACCOUNT with USER_username key, if the search by RID is
more frequent we store the SAM_ACCOUNT with RID_userrid.

Then we build 2 referencing key.

So USER_username is the entry that contains the SAM_ACCOUNT user
structure, while RID_userrid and UID_useruid contains a string the point
to USER_username:

for user simo, uid 500, rid 012345678 we have:
USER_simo -> SAM_ACCOUNT
UID_500 -> USER_simo
RID_012345678 -> USER_simo

what we need to take care is key consistency but, that not a big
problem.
If you think it is worth I would take the work to implement this idea!

-- 
Simo Sorce - Integrazione Sistemi Unix/Windows - Politecnico di Milano
E-mail: simo.sorce at polimi.it
Tel.int: 02 2399 2425 - Fax.int. 02 2399 2451
-----------------------------------------------------------------
Be happy, use Linux!




More information about the samba-technical mailing list