Description of problem:
The system is configured to use files and ldap as sources for passwd and group.
After a while (sometimes a few days, sometimes months) the system seems to forget about the local users causing all sorts of breakage.
When that happens, local users and ldap users can no longer log in remotely using ssh (because the sshd privilege user can not be found). Local users can NOT log in on the console as they are not known. LDAP users can log in on the console.
When nscd is not running, logging in as an LDAP user on the console unblocks everything and local users are known again after that.
When nscd is running, local users remain unknown after logging in as an LDAP user on the console. Running 'getent passwd' returns entries from both /etc/passwd and ldap, but running 'getent passwd root' returns nothing.
This happens on systems running nscd and systems not running nscd.
Version-Release number of selected component (if applicable):
We are seeing this behaviour on RHEL4:
And also on RHEL5 (CentOS 5):
And also on Debian Lenny:
The only common factor seems to be x86_64.
Issue was extremely rare in the past (once a year), but has gotten a lot more frequent lately (3 times in 2 weeks, on different systems).
Steps to Reproduce:
system forgets users from /etc/passwd after a while
system keeps parsing /etc/passwd and doesn't forget users.
This was reported against Red Hat Enterprise Linux 4 and we are not planning to address the problem in that release. However, there may be a workaround you can try. Specifically set threads and max_threads to 1 in /etc/nscd.conf.