[sork] passwd ldap feature, searching for userdn not required on some installs..

Geff boing at boing.com
Thu Dec 29 00:37:14 PST 2005


it's just all about perspective and clarity to potential admins.  But 
bottom line if the patch is taken, great.  If not ... oh well.

o is an organization.  There are different options. o or ou or what not.

Geff

Quoting Silver Salonen <silver at ultrasoft.ee>:

> Hi :)
>
> As I understand, admin in Sork is just a person who can change current user's
> password for sure. But every user is administrative to his own user object,
> isn't he? :)
>
> Does Sork have any functionality that should affect other users? If not then
> it's not a problem if Sork thinks the current user is administrator.
>
> About my LDAP-structure.. is there a difference whether I keep my domains in
> dc=hosting or o=hosting? Which objectclass would the "o=hosting" be?
>
> Silver
>
>> Howdy,
>>
>> I must say that's an interesting way to do it!  I would not have
>> thought of setting the admin to the user.  That seems kinda messy to
>> me.  There may be assumptions made that an admin is well .. you know an
>> admin.
>>
>> I must also comment that your ldap structure is also interesting.  Have
>> you not considered something like:
>>
>> mail=silver at ultrasoft.ee,dc=ultrasoft.ee,o=hosting
>>
>> or
>>
>> mail=silver at ultrasoft.ee,dc=ultrasoft,dc=ee,o=hosting
>>
>> not that this is the list for ldap naming rants...
>>
>> Geff
>>
>> Quoting Silver Salonen <silver at ultrasoft.ee>:
>>
>> > Hi.
>> >
>> > Have I understood you correctly if I say the patch helps Sork to bind to
> LDAP
>> > as the user trying to change his password?
>> >
>> > If it is so then why do you need the patch for this? You could just
> configure
>> > your backend in that way, couldn't you?
>> >
>> > My backend's config:
>> >
>> > $uid = Auth::getAuth();
>> > // users are divided by domain, ie. mail=silver at ultrasoft.ee,
>> > cn=ultrasoft.ee,
>> > dc=hosting
>> > $basedn = 'cn=' . substr(strstr($uid, '@'), 1) . ',' . 'dc=hosting';
>> > $backends['ldap'] = array(
>> > 	...
>> > 	'driver' => 'ldap',
>> > 	'params' => array(
>> > 		'basedn' => $basedn,
>> > 		'uid' => 'mail',
>> > 		'realm' => $basedn,
>> > 		'admindn' => 'mail=' . $uid . ','. $basedn,
>> > 		'adminpw' => Auth::getCredential('password'),
>> > 		...
>> > 	)
>> > );
>> >
>> > Sorry, if I didn't understand you correctly :)
>> >
>> > Silver
>> >
>> >> Howdy,
>> >>
>> >> All.  This password / sork thing is an excellent module.  I would
>> >> suggest the following patch as an option for configuration of userdn.
>> >> So that passwd does not have to bind at all to search for the user.
>> >> And can just bind as the user to change their own password.
>> >>
>> >> Thoughts and rejection are welcome and expected as always. :)
>> >>
>> >> Something else I was thinking about was some way to have multiple
>> >> backends update with a single update somehow?  yes of course you get
>> >> into issues with rolling back if one fails, but it would be handy from
>> >> the user's perspective if the password policies matched and every
>> >> service was up.  The practical case is my OS password (via poppassd)
>> >> and LDAP (addressbook).  Any desire for such a patch?
>> >>
>> >> Thanks much for your time,
>> >>
>> >> Geff
>> >>
>> >> ----
>> >>
>> >> config param:
>> >>
>> >>         'userdn' => 'cn=' . Auth::getBareAuth() . ',ou=people,o=boing',
>> >>
>> >> "ou=people,o=boing" is my container for my user objects.  I guess this
>> >> could have been:
>> >>
>> >> 'userdn => 'cn=' . Auth::getBareAuth() . $params['basedn'];
>> >>
>> >> or something as such.
>> >>
>> >>
>> >>
>> >
> kusanagi:/var/www/virtuals/mail.boing.com/htdocs/horde/passwd/lib/Driver)diff
>> >> -c ldap.php*
>> >> *** ldap.php    Sat Dec 24 02:25:50 2005
>> >> --- ldap.php.dist       Sat Dec 24 01:52:51 2005
>> >> ***************
>> >> *** 206,215 ****
>> >>        */
>> >>       function _userDN($username, $old_password)
>> >>       {
>> >> !         if ($this->_params['userdn']) {
>> >> !             $userdn = $this->_params['userdn'];
>> >> !           return $userdn;
>> >> !       } else if ($GLOBALS['conf']['hooks']['userdn']) {
>> >>               $userdn = Horde::callHook('_passwd_hook_userdn',
>> >>                                         array(Auth::getAuth()));
>> >>           } else {
>> >> --- 206,212 ----
>> >>        */
>> >>       function _userDN($username, $old_password)
>> >>       {
>> >> !         if ($GLOBALS['conf']['hooks']['userdn']) {
>> >>               $userdn = Horde::callHook('_passwd_hook_userdn',
>> >>                                         array(Auth::getAuth()));
>> >>           } else {
> --
> Sork mailing list - Join the hunt: http://horde.org/bounties/#sork
> Frequently Asked Questions: http://horde.org/faq/
> To unsubscribe, mail: sork-unsubscribe at lists.horde.org
>





More information about the sork mailing list