[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: Access control - passwords and accounts
On Fri, 12 Nov 1999, Kevin Myer wrote:
> First, I'd like to lock down the userPassword attribute as much as
> possible, so someone can't snoop around and harvest passwords. However, I
> think I have a problem, in that pam_ldap and nss_ldap bind anonymously,
> when looking up user account information.
(I assume you're talking about PADL Software's pam_ldap and nss_ldap modules.)
pam_ldap binds anonymously to locate a user, but does not need access to the
userPassword attribute for authentication at this point; upon finding the
user in the DIT, pam_ldap tries an authenticated bind using the DN and
password - this works.
nss_ldap, if configured to do so, will perform lookups anonymously; if the
userPassword attribute is hidden, it will return a single "x" in pwent queries
(just like local shadow passwords). This is generally the desired effect.
> The user and the admin can change the password but thats it.
That's "the desired effect". ;-)
> I guess I could modify the config file for pam_ldap and nss_ldap to bind as
> manager.
Except the /etc/ldap.conf file needs to be world-readable - not a good idea to
have your directory server's admin DN/password in such a file. ;-)
> Also, does granting write access to an attribute implicitly grant read
> access to it as well?
According to this:
http://www.umich.edu/~dirsvcs/ldap/doc/guides/slapd/5.html#RTFToC31
yes.
> Secondly, is there any way to lock down on which machines a user account
> is active?
According to the pam_ldap README:
Supports access authorization on the "host" attribute of the
account objectclass...
The "account" object class is defined in RFC 1274. See the _host_ok()
function in pam_ldap.
> Finally, I need to come up with something simple to allow users to change
> their passwords, via a web interface. What would be the recommendations
> there - PHP, cgi script or ???
The recommendation is, whatever suits your current environment and what's
comfortable with you (seriously); some sites prefer Python, others Perl.
There's no need to install PHP (for example) just for this one task. Any
language/environment that can talk directly to an LDAP server oughtta be fine.
Cheers..
dave