Over a decade later, I am seeing this same behavior on Ubuntu 22.04/jammy with nscd 2.35-0ubuntu3.1:
# /etc/nsswitch.conf
passwd: files systemd ldap
I have two users with the same ID (but different usernames, groups, etc.), one in /etc/passwd (files) and one in LDAP. Doing "getent passwd $uid" returns the LDAP entry instead of /etc/passwd, which is clearly not the desired behavior. Stopping nscd causes the query to return the correct entry.
For what it's worth, the "unscd" package provides a drop-in replacement for nscd that works correctly.
Over a decade later, I am seeing this same behavior on Ubuntu 22.04/jammy with nscd 2.35-0ubuntu3.1:
# /etc/nsswitch.conf
passwd: files systemd ldap
I have two users with the same ID (but different usernames, groups, etc.), one in /etc/passwd (files) and one in LDAP. Doing "getent passwd $uid" returns the LDAP entry instead of /etc/passwd, which is clearly not the desired behavior. Stopping nscd causes the query to return the correct entry.
For what it's worth, the "unscd" package provides a drop-in replacement for nscd that works correctly.