[Date Prev][Date Next] [Chronological] [Thread] [Top]

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
request with
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
http://www.symas.com http://highlandsun.com/hyc
Symas: Premier OpenSource Development and Support

-----Original Message-----
From: owner-openldap-software@OpenLDAP.org
[mailto:owner-openldap-software@OpenLDAP.org]On Behalf Of Kervin L.
Sent: Tuesday, August 13, 2002 5:01 PM
To: Aly Dharshi
Cc: openldap-software@OpenLDAP.org
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 scope.

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:

Hello All,

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 to get
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 ?



Aly Dharshi
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"