[Date Prev][Date Next]
Re: Uid/Gid Question
Thanks for that idea its a rather interesting one, would using the
UidPool/GidPool schema be useful for this, I mean I could have a different
subtree to hold this and check these attributes they have only cn/uidNumber and
cn/gidNumber for the required attributes. I think it should work.
Thanks and Cheers,
Howard Chu wrote:
Store the current max UID in the directory itself, use a single modify
delete <old value>
add <new value>
to update it. Since the modify is atomic this operation will only succeed
if the supplied <old value> matches the one currently in the directory. No
need for app-level locks, but you may have to retry a few times if multiple
clients are updating at once. (That doesn't seem like a realistic concern
to me though.)
-- Howard Chu
Chief Architect, Symas Corp. Director, Highland Sun
Symas: Premier OpenSource Development and Support
[mailto:owner-openldap-software@OpenLDAP.org]On Behalf Of Kervin L.
Sent: Tuesday, August 13, 2002 5:01 PM
To: Aly Dharshi
Subject: Re: Uid/Gid Question
Ran into this issue as well. I had to pull the entire ou everytime,
then sort and select the greatest one. You can speed up things a little
by limiting the returned attribute to only the uidnumber.
Another option is if your application keeps track of the next available
uid itself and increments this as necessary. We use PHP so this is hard
to do, lots of locking issues. JSP application server would do this
easily as you could keep the next available uid variable in application
The totally LDAP approach, I'm guessing is to use the "server side sort"
control RFC2891 ( http://www.ietf.org/rfc/rfc2891.txt ) together with
the simple paged result control RFC2696 (
http://www.ietf.org/rfc/rfc2696.txt ) . But these controls aren't
supported in OpenLDAP as yet. Using these, you'd be able to do a
reverse server side sort on uidnumber and limit the returned values to 1
Aly Dharshi wrote:
I want to use perl to develop a script to add users and such other
functionality. I just wanted to find out what would be the simplest way
the next available uid/gid combo, say if aly is 500:500 for user/group
how could I get 501 for the next user ? Is there some function ?
Student/System Administrator ORS
University of Lethbridge
"A good speech is like a good dress
that's short enough to be interesting
and long enough to cover the subject"