Red Hat Bugzilla – Bug 151351
NIS compatibility mode isn't quite compatible
Last modified: 2007-11-30 17:07:17 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.7.6) Gecko/20050226 Firefox/1.0.1
Description of problem:
Please forgive me if my I don't remember correctly how YP/NIS worked in the past, but I think that glibc's "compat" behaviour for e.g. passwd lookups isn't really quite compatible. Essentially, it will just ignore the rest of the file and consult the NIS map instead, whenever a single "+" appears. If I remember correctly, "+" used to mean "insert NIS data here", so entries appearing *after* it would also be consulted.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Make sure you have a valid NIS server.
2. In /etc/nsswitch.conf change the line starting with "passwd:" to
3. Edit /etc/passwd so that it ends with
and that a linbe containing just "+" does not appear anywhere else.
Make sure the NIS passwd map does not have an entry for "abjarne".
(Or change user name in above entry as well as the next step if it does.)
4. su - abjarne
Actual Results: su: user abjarne does not exist
Expected Results: abjarne is now the active user. If following the above steps slavishly, one will probably also get
su: warning: cannot change directory to /home/abjarne: No such file or directory
Filing against RHEL 4, but this is really a very old problem.
passwd: compat files
The nss_compat code behaves like this from the beginning. This is no regression
and there is no reason to change this for any released code since a) it is
questionable to use + this way and b) it can be easily worked around.
So, if anything, this would be a feature request for a new release. Talk to
your RHAT support representative about this or, alternatively, provide a patch
to upstream glibc which then would be automatically be used in the next release.