A product that allows you to authenticate users from their Windows NT domain credentials on a *NIX box. Unlike the "NTUserFolder" product which only works when you're running Zope on NT, it works under UNIX. It was developed under Red Hat Linux 6.0 and Python 1.5.2. It makes use of Mark Nottingham's smbvalidmodule C extension module for Python.
It is basically a rip-off of the DC etcUserFolder product with tips from Will Fife's nisUserFolder product. It took me about 30 minutes start-to-finish. This is my first Python programming effort. :) It took me longer to write the documentation than the actual product.
This Product requires Mark Nottingham's smbvalid Python module. I found this module at http://www.mnot.net/python/smbvalid/ although it may be available elsewhere. I have no idea whether this product will work on platforms other than Linux, based on this requirement. You are welcome to try. I have made it work under Linux and Zope 2.0.0.
Basically, before you can use this product, you need to (re)compile Python so that it knows how to use the smbvalid module. You can find instructions about how to do this in the README.txt file that comes with the smbvalid-0.5.tgz file downloadable from Mark Nottingham's site. I found his directions somewhat confusing, so here's alternate ones which include smbUserFolder:
smbvalid smbvalidmodule.c -I{path}/pam_smb/smbval {path}\ /pam_smb/smbval/smbvalid.a
where {path} is the location of the pam_smb source build.
{USERNAME}:{NT_DOMAIN}:{PDC_NAME}:{BDC_NAME}
Where, for each user, {USERNAME} is the NT username you wish to validate against, {NT_DOMAIN} is the NT domain in which this user resides, {PDC_NAME} is the PDC for this domain, and {BDC_NAME} is the BDC for this domain.
For example:
mcdonc:INFOUEST_1:IQPDC:IQBDC colbrw:INFOQUEST_1:IQPDC:IQBDC
Without this file, you will not have a userlist to validate against. smbUserFolder does not PULL a userlist from the NT domain, it just compares known NT usernames in a file against users defined in the NT domain. Therefore, for each NT user you need to validate, you have to add an entry to the smbUserList file. This is sort of like Samba, in that you need to add a "local" user for every instance of NT user that you have. I've set up a little cron job that starts a Perl script under Win32 that grabs the userlist from an NT domain and dumps it into a file that can be read by smbUserFolder. Email me if you want the Perl script that does this.
Dig it!
contact:
Chris McDonough IQ Group, IT Consultants
[email protected] (now [email protected])
NO WARRANTIES EXPRESSED OR IMPLIED.