Ok Edward, this is for you. If you want to help, have a look at
https://code.launchpad.net/~hingo/drizzle/drizzle-docs71

I wrestled with the build system so that the files from
plugin/auth_ldap/schema/ are now installed by a make install. I also
renamed them, but since you've seen this before you should recognize
them. So this is what it looks like after make install:

hingo@mermaid:~/hacking/drizzle/builds/ldap$ ls
bin  include  lib  sbin  share  var

hingo@mermaid:~/hacking/drizzle/builds/ldap$ ls bin
drizzle  drizzlebackup.innobase  drizzledump  drizzleimport
drizzle_password_hash  drizzleslap  drizzletrx

hingo@mermaid:~/hacking/drizzle/builds/ldap$ ls share/drizzle7/
drizzle_create_ldap_user  drizzle_openldap.ldif
drizzle_openldap.schema  README.auth_ldap

hingo@mermaid:~/hacking/drizzle/builds/ldap$ bin/drizzle_password_hash secret
14E65567ABDB5135D0CFD9A70B3032C179A49EE7

hingo@mermaid:~/hacking/drizzle/builds/ldap$
share/drizzle7/drizzle_create_ldap_user -h
Arguement options are:
-p: password to use for password
-b: path to mysql_password_hash
-u: username to generate users from
-n: number of users to generate
-l: base ldap dn to use for user generation
-d: debug

share/drizzle7/drizzle_create_ldap_user is a script used to generate
users to test drizzles mysql auth integration with ldap.
if "-b" is set users will be generated with attribute drizzleUserMysqlPassword
Script dumps all information to stdout so end user can decide what
they want to do with output.

hingo@mermaid:~/hacking/drizzle/builds/ldap$
share/drizzle7/drizzle_create_ldap_user -p secret -b
bin/drizzle_password_hash -u johndoe -n 1 -l
"ou=people,dc=example,dc=com"
dn: uid=johndoe0,ou=people,dc=example,dc=com
objectclass: top
objectclass: posixAccount
objectclass: account
objectclass: drizzleUser
drizzleUserMysqlPassword: 14E65567ABDB5135D0CFD9A70B3032C179A49EE7
uidNumber: 500
gidNumber: 500
uid: johndoe0
homeDirectory: /home/johndoe0
loginshell: /sbin/nologin
userPassword: secret
cn: johndoe0


We now have plugin documentation in plugin/auth_ldap/docs/index.rst.
If you want to write a howto on using LDAP based authentication, then
you could just write that into the Examples section there and send a
merge request to the above branch. Alternatively, if you just want to
write a HowTo as a text file and email it, I'm happy to do that too.

Either way, please use bin/drizzle_password_hash and
share/drizzle7/drizzle_create_ldap_user and
share/drizzle7/drizzle_openldap.ldif as I showed above for the
examples. (Unless you have a good reason why you don't want to do
that, then I'm curious to know what is a better way!)

Also, I found you on launchpad and subscribed you to:
https://blueprints.launchpad.net/drizzle/+spec/docs71-focus-areas

Please keep us updated when you start working. I'll look at
documenting auth_pam next, but will continue to keep on eye on this
too.

henrik
PS: Daniel: spotted your 7.1-docs branch. You've been busy, nice work!



On Tue, Oct 4, 2011 at 9:37 AM, Henrik Ingo <[email protected]> wrote:
> Hi Edward
>
> Yes, your name sounded familiar I now realize it's in one of the files :-)
>
> I think that would be helpful and very welcome. I was reading
> https://help.ubuntu.com/11.04/serverguide/C/openldap-server.html to
> get started and I can create users to the inetorgperson schema and
> also successfully added the drizzle.ldif to it. But it's not like I
> really know what I'm doing :-)
>
> I managed yesterday to hack the pandora-build script that Drizzle uses
> on top of Autotools so that mysql_password_hash from libdrizzle-2.0
> and gentestuser.sh, drizzle.schema and drizzle.ldif are included in
> make install. I will make such a branch available in a few hours so
> you can see what it looks like.
>
> So I was thinking the manual entry should have
>
>  - very short instructions to get basic openldap installed and
> running, with some basic schema like inetorgperson.
>  - instructions where to find and how to install the drizzle.ldif
>  - instructions should use gentestuser.sh and mysql_password_hash
> (which I have renamed to drizzle_... )
>  - simple login
>  - whatever else you think is useful
>
> I'll send a link to my modified branch shortly...
>
> henrik
>
>
> On Tue, Oct 4, 2011 at 2:12 AM, Edward "koko" Konetzko
> <[email protected]> wrote:
>> Hi guys
>>
>> I am chiming in a little late, sorry currently on vacation, would it be
>> helpful if you guys had a howto doc for getting ldap all setup?  I probably
>> wouldn't be able to help out on anything till next week sometime.
>>
>> FYI I did the ldap schema part of for the auth_ldap plugin.  LDAP is
>> extremely misunderstood and can be a little confusing at first but after you
>> get over the mountain of a learning curve its pretty easy :D.
>>
>> Just thought I would toss my hat in and offer a little help on the auth_ldap
>> part if its needed.
>>
>> Edward
>>
>>
>>
>> On 10/03/2011 01:04 PM, Henrik Ingo wrote:
>>>
>>> NP, I almost got them switched in my previous reply too :-) (But I was
>>> typing with baby in lap)
>>>
>>> henrik
>>>
>>> On Mon, Oct 3, 2011 at 8:33 PM, Daniel Nichter<[email protected]>  wrote:
>>>>
>>>> Oh no, now I'm confusing myself and everyone else.  :-)  Your terminology
>>>> was correct the first time.  Let me try once more, and this time I'm going
>>>> to pay close attention to what I type:
>>>>
>>>> You write the pages for Authentication to cover auth_pam, and whatever
>>>> other auth plugins you want, and I'll write auth_schema page.
>>>>
>>>> I write the section on Authorization: simple_user_policy and
>>>> regex_policy.
>>>>
>>>> -Daniel
>>>>
>>>> Le 3 oct. 2011 à 10:43, Henrik Ingo a écrit :
>>>>
>>>>> :-)
>>>>>
>>>>> Confusion of terminology: To me Authentication = the thing that uses
>>>>> username+password and auth_pam and auth_ldap are part of that.
>>>>>
>>>>> Authorization = GRANT and REVOKE = authenticated user is allowed / not
>>>>> allowed to do X.
>>>>>
>>>>> But I'm happy to cover auth_pam and auth_ldap, if you cover the basic
>>>>> auth_schema use case.
>>>>>
>>>>> Yeah, I don't think lot of people will use ldap (or even auth_pam,
>>>>> given the need to use plaintext passwords), but I selected it as
>>>>> "marketing feature" due to Oracle/MySQL recently announcing similar
>>>>> proprietary feature. I think it can get some publicity, and it's a
>>>>> "enterprise feature", even if most users wouldn't use it.
>>>>>
>>>>> henrik
>>>>>
>>>>> On Mon, Oct 3, 2011 at 7:05 PM, Daniel Nichter<[email protected]>
>>>>>  wrote:
>>>>>>
>>>>>> The reverse: you write Authorization so you can cover whichever auth_*
>>>>>> plugins you want (auth_pam, etc.), and I'll write Authentication since I
>>>>>> have a little insight into that.  Does that work?
>>>>>>
>>>>>> Also, I agree about auth_ldap: it's pretty complex and I don't think
>>>>>> LDAP is very common in the Unix world.  Afaik, LDAP is what Windows uses 
>>>>>> (or
>>>>>> did--I don't keep up with Windows).
>>>>>>
>>>>>> Le 3 oct. 2011 à 10:01, Henrik Ingo a écrit :
>>>>>>
>>>>>>> I agree with scoping of Administration. So will you also cover
>>>>>>> auth_ldap?
>>>>>>>
>>>>>>> FYI: I've spent today trying to get
>>>>>>> libdrizzle-2.0/libdrizzle/mysql_password_hash (renamed to
>>>>>>> drizzle_password_hash) and plugin/auth_ldap/schema/gentestusers.sh
>>>>>>> (renamed to drizzle_create_ldap_user) included in make install, so
>>>>>>> that also end users could benefit from them. I think while LDAP is a
>>>>>>> bit complex (and people complain about SQL!!) one good thing with
>>>>>>> auth_ldap is the fact you can actually use hashed passwords, and I'd
>>>>>>> like to make it easy for users to actually do that.
>>>>>>>
>>>>>>> I'll have to look at authorization/policy plugins, I have absolutely
>>>>>>> zero insight into that so far.
>>>>>>>
>>>>>>> henrik
>>>>>>>
>>>>>>> On Mon, Oct 3, 2011 at 5:56 PM, Daniel Nichter<[email protected]>
>>>>>>>  wrote:
>>>>>>>>
>>>>>>>> Henrik,
>>>>>>>> I was thinking that Administration entails Authentication and
>>>>>>>> Authorization.
>>>>>>>>  The section on Authentication could cover (eventually) all of
>>>>>>>> Drizzle's
>>>>>>>> auth plugins and other authentication-related information like how to
>>>>>>>> make
>>>>>>>> the drizzle client work with those auth plugins by using --protocol
>>>>>>>> mysql-plugin-auth. And Authorization could talk about the various
>>>>>>>> policy
>>>>>>>> plugins.
>>>>>>>> So maybe you could write Authorization for the auth plugins you want
>>>>>>>> to
>>>>>>>> feature, and I can write Authentication?
>>>>>>>> As for auth_schema, I'm glad you like it.  :-)  I will have it ready
>>>>>>>> to go
>>>>>>>> by the end of this week and then I'll propose it for merging,  It's
>>>>>>>> not
>>>>>>>> perfect yet, but I think it's useful enough.
>>>>>>>> -Daniel
>>>>>>>> Le 2 oct. 2011 à 14:39, Henrik Ingo a écrit :
>>>>>>>>
>>>>>>>> I picked ldap_auth and pam_auth for our focus areas:
>>>>>>>> https://blueprints.launchpad.net/drizzle/+spec/docs71-focus-areas I
>>>>>>>> now realize auth_schema should be included too, unless of course we
>>>>>>>> think it is implied by Administration.
>>>>>>>>
>>>>>>>> Basically I want to make sure that docs/index.rst in those 3 plugins
>>>>>>>> is usable for the average user. It seems it is mostly a question of
>>>>>>>> supplying a good example section in addition to the file you've
>>>>>>>> generated. When you say you want to document administration, do you
>>>>>>>> want to claim all of auth_pam/docs/index.rst for yourself? Feel free
>>>>>>>> to do so. I assume auth_schema is part of administration.
>>>>>>>>
>>>>>>>> I started today trying to understand ldap_auth. (And it seems to be a
>>>>>>>> rule that no matter how innocent things I do I end up changing
>>>>>>>> Makefile.am. In this case plugin/ldap_auth/ has material that is only
>>>>>>>> there if you work from bzr repository, so to document how to create
>>>>>>>> LDAP users, I first have to move a utility from noinst_PROGRAMS to
>>>>>>>> bin_PROGRAMS...
>>>>>>>>
>>>>>>>>  From what I've learned today, auth_pam is a good authentication
>>>>>>>> method, except for the drawback that you end up using plaintext
>>>>>>>> passwords. auth_ldap actually has an advantage it is designed to
>>>>>>>> store
>>>>>>>> the MySQL hashed passwords in a custom LDAP field, however it is way
>>>>>>>> too complex for the average user to setup. (It mostly just makes
>>>>>>>> sense
>>>>>>>> if you already use LDAP.)
>>>>>>>>
>>>>>>>> A conclusion of the above is that I really appreciate you creating
>>>>>>>> auth_schema, and hope it is included in the beta because it is the
>>>>>>>> only alternative that is both secure and user friendly and should be
>>>>>>>> the default and recommended auth plugin.
>>>>>>>>
>>>>>>>> henrik
>>>>>>>>
>>>>>>>>
>>>>>>>> On Sun, Oct 2, 2011 at 7:34 PM, Daniel Nichter<[email protected]>
>>>>>>>>  wrote:
>>>>>>>>
>>>>>>>> Hi Henrik,
>>>>>>>>
>>>>>>>> Correct: I did not update the docs.  When I update the Administration
>>>>>>>> docs
>>>>>>>> for 7.1,  I will mention it.  What docs are you updating where it's
>>>>>>>> relevant?
>>>>>>>>
>>>>>>>> -Daniel
>>>>>>>>
>>>>>>>> Le 2 oct. 2011 à 03:15, Henrik Ingo a écrit :
>>>>>>>>
>>>>>>>> Hi Daniel
>>>>>>>>
>>>>>>>> Related to your work in figuring out PAM authentication and knowing
>>>>>>>>
>>>>>>>> that you worked a little on documentation, am I correct that you
>>>>>>>>
>>>>>>>> didn't update any docs for this? I was thinking to select this as a
>>>>>>>>
>>>>>>>> focus area where we should update the docs for 7.1 release. I'm
>>>>>>>>
>>>>>>>> volunteering to do it, and the info in your blog post is already
>>>>>>>>
>>>>>>>> sufficient, just wanted to check you are not sitting on some
>>>>>>>>
>>>>>>>> documentation that I don't see yet in trunk?
>>>>>>>>
>>>>>>>> henrik
>>>>>>>>
>>>>>>>> On Fri, Sep 9, 2011 at 4:52 AM, Daniel Nichter<[email protected]>
>>>>>>>>  wrote:
>>>>>>>>
>>>>>>>> This has been resolved:
>>>>>>>> http://hackdrizzle.com/authenticating-with-authentication-plugins/
>>>>>>>>
>>>>>>>> Le 9 août 2011 à 18:12, Daniel Nichter a écrit :
>>>>>>>>
>>>>>>>> I'd like to draw attention to
>>>>>>>> https://bugs.launchpad.net/drizzle/+bug/823637: "auth_pam and
>>>>>>>> auth_http do
>>>>>>>> not work".  I think the reason is that the authentication system does
>>>>>>>> not
>>>>>>>> pass authentication plugins a plaintext password, only a
>>>>>>>> MySQL-scrambled
>>>>>>>> hash of the original plaintext password.  I've verified that this is
>>>>>>>> problem
>>>>>>>> with auth_http by manually inserting a plaintext password.
>>>>>>>>
>>>>>>>> If this is the root problem, then I don't see how the authentication
>>>>>>>> system
>>>>>>>> will work because a MySQL password hash is only useful for MySQL,
>>>>>>>> i.e. pam
>>>>>>>> and curl can't use it.  Can the plaintext password still be accessed?
>>>>>>>>
>>>>>>>> -Daniel
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>>
>>>>>>>> Mailing list: https://launchpad.net/~drizzle-discuss
>>>>>>>>
>>>>>>>> Post to     : [email protected]
>>>>>>>>
>>>>>>>> Unsubscribe : https://launchpad.net/~drizzle-discuss
>>>>>>>>
>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>>
>>>>>>>> Mailing list: https://launchpad.net/~drizzle-discuss
>>>>>>>>
>>>>>>>> Post to     : [email protected]
>>>>>>>>
>>>>>>>> Unsubscribe : https://launchpad.net/~drizzle-discuss
>>>>>>>>
>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>>
>>>>>>>> [email protected]
>>>>>>>>
>>>>>>>> +358-40-8211286 skype: henrik.ingo irc: hingo
>>>>>>>>
>>>>>>>> www.openlife.cc
>>>>>>>>
>>>>>>>> My LinkedIn profile: http://www.linkedin.com/profile/view?id=9522559
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> [email protected]
>>>>>>>> +358-40-8211286 skype: henrik.ingo irc: hingo
>>>>>>>> www.openlife.cc
>>>>>>>>
>>>>>>>> My LinkedIn profile: http://www.linkedin.com/profile/view?id=9522559
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> [email protected]
>>>>>>> +358-40-8211286 skype: henrik.ingo irc: hingo
>>>>>>> www.openlife.cc
>>>>>>>
>>>>>>> My LinkedIn profile: http://www.linkedin.com/profile/view?id=9522559
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> [email protected]
>>>>> +358-40-8211286 skype: henrik.ingo irc: hingo
>>>>> www.openlife.cc
>>>>>
>>>>> My LinkedIn profile: http://www.linkedin.com/profile/view?id=9522559
>>>>
>>>
>>>
>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~drizzle-discuss
>> Post to     : [email protected]
>> Unsubscribe : https://launchpad.net/~drizzle-discuss
>> More help   : https://help.launchpad.net/ListHelp
>>
>
>
>
> --
> [email protected]
> +358-40-8211286 skype: henrik.ingo irc: hingo
> www.openlife.cc
>
> My LinkedIn profile: http://www.linkedin.com/profile/view?id=9522559
>



-- 
[email protected]
+358-40-8211286 skype: henrik.ingo irc: hingo
www.openlife.cc

My LinkedIn profile: http://www.linkedin.com/profile/view?id=9522559

_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to