http://www.perlmonks.org?node_id=662460


in reply to web authentication 2008

Hi, I don't have a answer, it's more kind of a question/suggestion..

I've got a quite similar problem:
Integration of user permissions into samba, email server, database, and a mod_perl webinterface.

So I'd like to describe what I'm most possibly going to do/already have done:
The webinterface/authentication mechanism was the first task, is already finished and uses postgresql as backend.
Because users are managed from within the webinterface and the permissions structure is quite complex, I'll stay with this.
Writing an apache handler for authentication was quite simple and didn't take long.
If someone is interested I can post the code here.

After this there was the need to integrate the users´ fax numbers and emails into a device which is able to scan, fax and send emails.
The device has a ldap interface, so I wrote a ldapserver with Net::LDAP::Server which accesses the postgresql database.

Getting the server to work has also been a matter of one day.

Now I still have to integrate the users into samba and the emailserver.
There are already ldap backends for emailservers, so I'm most possibly going to adapt my own ldap server.

Samba has also a ldap backend, but I'm thinking about writing a fuse fs for the quite sophisticated permissions of file access/preventing the users from editing files at the same time.

I believe ldap has some advantages: It's mature, spreaded widely, and very many programs can access ldap servers already.

That's however just a suggestion, you might wan't to google for ldap yourself.

And I'm really interested in how you solve this task/What others think about the ldap approach.

Replies are listed 'Best First'.
Re^2: web authentication 2008
by mpeg4codec (Pilgrim) on Jan 15, 2008 at 16:45 UTC
    Getting OT: At a former place of employment, I used LDAP as a sort of modern-day NIS. PAM allowed us to use the LDAP for authentication and NSS caused users/groups to be looked up in the LDAP (if they couldn't be found in the files). Our Samba server was plugged into the LDAP in such a way, and that alleviated us from having to do anything special to manage permissions. We simply set the typical user and group permissions the way we would have if the users were local, and it worked like a charm.

    Perl was involved, of course. Since we never found anything that allowed us to manage users and groups in a pleasant way, I used Net::LDAP and Gtk2 to put something together that I could hand off to the IT staff and not worry about. Last I heard, they were still using it to good effect.

    Trying to bring this back on-topic, as cutlass2006 writes, LDAP can be an excellent solution to multi-faceted authentication. The only warning I can give is that you may be rolling-your-own on a lot of things, as we had to. Those are the two sides of the same coin: LDAP is extremely flexible, and as such you have to bend it to do your bidding.