Pekka Pietikainen wrote:
Possibly related is what I saw a while back, there was a local user
and a NIS+ user with different uid etc. nsswitch.conf had
passwd: files nisplus yet it used the nis+ user until nscd was
stopped. clearing up the nscd caches ( rm -f /var/db/nscd/* ) made it
work again even with nscd running.
If the local user was only created shortly before that, this is the
expected behavior. The whole point is to cache results. Only when they
time out (as controlled in nscd.conf) will the entries be reloaded. And
then they are searched in the usual way, not by preferring the service
which previously provided the result.
Didn't get around to filing a bug, especially since the nis+ is
custom, but nscd invalidating its caches on startup (either rm or nscd -i)
might be a good idea nevertheless?
Then deselect "persistent" in nscd.conf for the database. This is one
of the big new features of nscd in recent times (you haven't read the
release notes, I gather). If you cannot use it because your local user
organization is so flaky disable it. It is definitely of benefit to the
fast majority of users.
➧ Ulrich Drepper ➧ Red Hat, Inc. ➧ 444 Castro St ➧ Mountain View, CA ❖