From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3a) Gecko/20021207
Description of problem:
It is impossible to use "compat" in nsswitch.conf to restrict access to a
machine using LDAP as its naming service. The nss_compat.so library in Linux is
tied strictly to NIS/NIS+.
I realize that, since this will need hooks into openldap to work properly,
fixing this either requires you to split nss_compat into a separate package
(probably a good idea), or make glibc depend on openldap (probably not such a
good idea), but either way, it's something that really should be implemented.
I'm willing to heavily test the code, but I don't have enough knowledge of the
ldap internals to write it myself.
I also sent a message to email@example.com, but I have gotten no response about
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Set up a Linux machine as an LDAP client
2. Make sure the machine is NOT bound to a NIS/NIS+ domain
2. Set "passwd: compat" and "passwd_compat: ldap" in nsswitch.conf
3. add "+username" at the end of /etc/passwd for some user
4. try to log in as the user
Actual Results: nss_compat tries to check for user's validity using NIS, not
LDAP, so the login fails.
Expected Results: nss_compat needs to make calls to the LDAP library instead
I've checked the latest glibc source from GNU (2.3.1), and there has still not
been work done in this area.
*** This bug has been marked as a duplicate of 84376 ***
Changed to 'CLOSED' state since 'RESOLVED' has been deprecated.