Bug#637427: libc: nsswitch doesn't respect nsswitch.conf when looking up a single group
Package: libc6
Version: 2.11.2-10
Severity: important
File: libc
I have the following line in /etc/nsswitch.conf:
group: ldap compat
LDAP source is provided by libnss-ldapd (aka nslcd). Now suppose I have
group foo in both the remote LDAP DB and local /etc/group, with
different values:
(LDAP) foo:*:1500:user1
(/etc/group) foo:x:500:user2
Invoking
getent group
will list the LDAP one before the local one, which is expected. However,
getent group foo
will always show the local one, ie. foo:x:500:user2 instead of the
expected LDAP one. I tried running nslcd in debug mode with
service nslcd stop && nslcd -d
And it's clear that when I call `getent group foo`, nslcd is *not*
queried. Thus I highly suspect this be a bug in glibc.
-- System Information:
Debian Release: 6.0.2
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 2.6.32-5-686 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages libc6 depends on:
ii libc-bin 2.11.2-10 Embedded GNU C Library: Binaries
ii libgcc1 1:4.4.5-8 GCC support library
Versions of packages libc6 recommends:
ii libc6-i686 2.11.2-10 Embedded GNU C Library: Shared lib
Versions of packages libc6 suggests:
ii debconf [debconf-2.0] 1.5.36.1 Debian configuration management sy
pn glibc-doc <none> (no description available)
ii locales 2.11.2-10 Embedded GNU C Library: National L
-- debconf information:
glibc/upgrade: true
glibc/restart-services:
glibc/disable-screensaver:
glibc/restart-failed:
Reply to: