lists.arthurdejong.org
RSS feed

Re: group query regression?

[Date Prev][Date Next] [Thread Prev][Thread Next]

Re: group query regression?



Hi Arthur
This is the log you've asked. Like I've said, it works with "referrals no" in the nslcd.conf. The protocol also looks more efficient then: it doesn't have to reconnect. It directly gets the LDAP results. So, we're going to stick with this option anyway.

--
Met vriendelijke groet/Kind regards
Philippe Serbruyns
IT-manager TELIN

Department for Telecommunications and Information Processing (TELIN)
Ghent University     St-Pietersnieuwstraat 41,  B-9000 Gent, Belgium
Philippe.Serbruyns [at] UGent.be       https://telin.ugent.be/~ps/
tel:+32-9-264-8909                     https://twitter.com/phiser678

On Fri, 29 Jul 2016, Arthur de Jong wrote:

On Thu, 2016-07-28 at 10:34 +0200, Philippe Serbruyns wrote:
Yes, I need the member attribute from our LDAP of course, so
disabling it was not our solution. But disabling referrals like your
next suggestion made it work!!!
I guess you're also right about a bug in the samba4 LDAP, it's
probably  fixed in a newer version, I will check again if I get it
upgraded.

I would like to know any results you have related to samba4.

Also, if you could provide the backtrace of the crash, that would be
very helpful to see if there is an additional bug somewhere:

# script try-to-reproduce.log
# gdb nslcd
...
(gdb) r -d
...
   try to force the crash
...
(gdb) thread apply all bt full

Thanks,

--
-- arthur - arthur@arthurdejong.org - http://arthurdejong.org/ --


# gdb nslcd GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from nslcd...done.
(gdb) r -d
Starting program: /root/nss-pam-ldapd-0.9.6/nslcd/nslcd -d
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
nslcd: DEBUG: NSS_LDAP nss-pam-ldapd 0.9.6
nslcd: DEBUG: ldap_set_option(LDAP_OPT_X_TLS_REQUIRE_CERT,never)
nslcd: DEBUG: CFG: threads 5
nslcd: DEBUG: CFG: uid nslcd
nslcd: DEBUG: CFG: gid 131
nslcd: DEBUG: CFG: uri ldap://samba4server/
nslcd: DEBUG: CFG: ldap_version 3
nslcd: DEBUG: CFG: binddn cn=nslcd-connect,cn=Users,dc=mydomain
nslcd: DEBUG: CFG: bindpw ***
nslcd: DEBUG: CFG: base dc=mydomain
nslcd: DEBUG: CFG: scope sub
nslcd: DEBUG: CFG: deref never
nslcd: DEBUG: CFG: referrals yes
nslcd: DEBUG: CFG: filter aliases (objectClass=nisMailAlias)
nslcd: DEBUG: CFG: filter ethers (objectClass=ieee802Device)
nslcd: DEBUG: CFG: filter group (objectClass=posixGroup)
nslcd: DEBUG: CFG: filter hosts (objectClass=ipHost)
nslcd: DEBUG: CFG: filter netgroup (objectClass=nisNetgroup)
nslcd: DEBUG: CFG: filter networks (objectClass=ipNetwork)
nslcd: DEBUG: CFG: filter passwd (objectClass=posixAccount)
nslcd: DEBUG: CFG: filter protocols (objectClass=ipProtocol)
nslcd: DEBUG: CFG: filter rpc (objectClass=oncRpc)
nslcd: DEBUG: CFG: filter services (objectClass=ipService)
nslcd: DEBUG: CFG: filter shadow (objectClass=shadowAccount)
nslcd: DEBUG: CFG: map group userPassword "*"
nslcd: DEBUG: CFG: map passwd userPassword "*"
nslcd: DEBUG: CFG: map passwd gecos "${gecos:-$cn}"
nslcd: DEBUG: CFG: map passwd homeDirectory unixHomeDirectory
nslcd: DEBUG: CFG: map shadow userPassword "*"
nslcd: DEBUG: CFG: map shadow shadowLastChange "${shadowLastChange:--1}"
nslcd: DEBUG: CFG: map shadow shadowMin "${shadowMin:--1}"
nslcd: DEBUG: CFG: map shadow shadowMax "${shadowMax:--1}"
nslcd: DEBUG: CFG: map shadow shadowWarning "${shadowWarning:--1}"
nslcd: DEBUG: CFG: map shadow shadowInactive "${shadowInactive:--1}"
nslcd: DEBUG: CFG: map shadow shadowExpire "${shadowExpire:--1}"
nslcd: DEBUG: CFG: map shadow shadowFlag "${shadowFlag:-0}"
nslcd: DEBUG: CFG: bind_timelimit 10
nslcd: DEBUG: CFG: timelimit 0
nslcd: DEBUG: CFG: idle_timelimit 60
nslcd: DEBUG: CFG: reconnect_sleeptime 1
nslcd: DEBUG: CFG: reconnect_retrytime 10
nslcd: DEBUG: CFG: ssl off
nslcd: DEBUG: CFG: tls_reqcert never
nslcd: DEBUG: CFG: pagesize 0
nslcd: DEBUG: CFG: nss_min_uid 600
nslcd: DEBUG: CFG: nss_nested_groups no
nslcd: DEBUG: CFG: nss_getgrent_skipmembers no
nslcd: DEBUG: CFG: nss_disable_enumeration no
nslcd: DEBUG: CFG: validnames /^[a-z0-9._@$()]([a-z0-9._@$() 
\~-]*[a-z0-9._@$()~-])?$/i
nslcd: DEBUG: CFG: ignorecase no
nslcd: DEBUG: CFG: pam_password_prohibit_message "Not implemented, use 
samba-tool"
nslcd: DEBUG: CFG: cache dn2uid 15m 15m
nslcd: version 0.9.6 starting
nslcd: DEBUG: initgroups("nslcd",131) done
nslcd: DEBUG: setgid(131) done
nslcd: DEBUG: setuid(125) done
nslcd: accepting connections
[New Thread 0x7ffff2ec6700 (LWP 27690)]
[New Thread 0x7ffff26c5700 (LWP 27691)]
[New Thread 0x7ffff1ec4700 (LWP 27692)]
[New Thread 0x7ffff16c3700 (LWP 27693)]
[New Thread 0x7ffff0ec2700 (LWP 27694)]
nslcd: [8b4567] DEBUG: connection from pid=27695 uid=0 gid=0
nslcd: DEBUG: accept() failed (ignored): Resource temporarily unavailable
nslcd: [8b4567] <group="group1"> DEBUG: myldap_search(base="dc=mydomain", 
filter="(&(objectClass=posixGroup)(cn=group1))")
nslcd: [8b4567] <group="group1"> DEBUG: ldap_initialize(ldap://samba4server/)
nslcd: [8b4567] <group="group1"> DEBUG: ldap_set_rebind_proc()
nslcd: [8b4567] <group="group1"> DEBUG: 
ldap_set_option(LDAP_OPT_PROTOCOL_VERSION,3)
nslcd: [8b4567] <group="group1"> DEBUG: ldap_set_option(LDAP_OPT_DEREF,0)
nslcd: [8b4567] <group="group1"> DEBUG: ldap_set_option(LDAP_OPT_TIMELIMIT,0)
nslcd: [8b4567] <group="group1"> DEBUG: ldap_set_option(LDAP_OPT_TIMEOUT,0)
nslcd: [8b4567] <group="group1"> DEBUG: 
ldap_set_option(LDAP_OPT_NETWORK_TIMEOUT,0)
nslcd: [8b4567] <group="group1"> DEBUG: 
ldap_set_option(LDAP_OPT_REFERRALS,LDAP_OPT_ON)
nslcd: [8b4567] <group="group1"> DEBUG: 
ldap_set_option(LDAP_OPT_RESTART,LDAP_OPT_ON)
nslcd: [8b4567] <group="group1"> DEBUG: 
ldap_simple_bind_s("cn=nslcd-connect,cn=Users,dc=mydomain","***") (uri="ldap://samba4server/";)
nslcd: [8b4567] <group="group1"> DEBUG: ldap_result(): 
CN=group1,OU=Groups,DC=mydomain
nslcd: [8b4567] <group="group1"> DEBUG: rebinding to 
ldap://samba4server/CN=Configuration,DC=mydomain
nslcd: [8b4567] <group="group1"> DEBUG: 
ldap_simple_bind_s("cn=nslcd-connect,cn=Users,dc=mydomain","***") 
(uri="ldap://samba4server/CN=Configuration,DC=mydomain";)
nslcd: [8b4567] <group="group1"> ldap_result() failed: Can't contact LDAP server
nslcd: [8b4567] <group="group1"> DEBUG: ldap_abandon()
nslcd: ../../../../libraries/liblber/io.c:222: ber_flush2: Assertion `sb != 
NULL' failed.

Thread 3 "nslcd" received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffff26c5700 (LWP 27691)]
0x00007ffff71c2418 in __GI_raise (sig=sig@entry=6) at 
../sysdeps/unix/sysv/linux/raise.c:54
54      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) thread apply all bt full

Thread 6 (Thread 0x7ffff0ec2700 (LWP 27694)):
#0  0x00007ffff7289d13 in select () at ../sysdeps/unix/syscall-template.S:84
No locals.
#1  0x000000000040508a in worker (arg=<optimized out>) at nslcd.c:548
        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {0, 
-6411621158556266697, 0, 140737488347791, 140737235397056, 0,
                6411640836978642743, -6411621710253256905}, __mask_was_saved = 
0}}, __pad = {0x7ffff0ec1f30, 0x0, 0x0, 0x0}}
        __cancel_routine = 0x404fa0 <worker_cleanup>
        __cancel_arg = <optimized out>
        __not_first_call = <optimized out>
        session = <optimized out>
        csock = <optimized out>
        j = <optimized out>
        addr = {ss_family = 0, __ss_align = 0, __ss_padding = '\000' <repeats 111 
times>}
        alen = 0
        fds = {fds_bits = {32, 0 <repeats 15 times>}}
        tv = {tv_sec = 56, tv_usec = 202941}
#2  0x00007ffff755d6fa in start_thread (arg=0x7ffff0ec2700) at 
pthread_create.c:333
        __res = <optimized out>
        pd = 0x7ffff0ec2700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737235396352, 
-6411621158556266697, 0, 140737488347791, 140737235397056,
                0, 6411640837047848759, 6411637325592923959}, mask_was_saved = 
0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {
              prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#3  0x00007ffff7293b5d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 5 (Thread 0x7ffff16c3700 (LWP 27693)):
#0  0x00007ffff7289d13 in select () at ../sysdeps/unix/syscall-template.S:84
No locals.
#1  0x000000000040508a in worker (arg=<optimized out>) at nslcd.c:548
        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {0, 
-6411621158556266697, 0, 140737488347791, 140737243789760, 0,
                6411641934879657783, -6411621710253256905}, __mask_was_saved = 
0}}, __pad = {0x7ffff16c2f30, 0x0, 0x0, 0x0}}
        __cancel_routine = 0x404fa0 <worker_cleanup>
        __cancel_arg = <optimized out>
        __not_first_call = <optimized out>
        session = <optimized out>
        csock = <optimized out>
        j = <optimized out>
        addr = {ss_family = 0, __ss_align = 0, __ss_padding = '\000' <repeats 111 
times>}
        alen = 128
        fds = {fds_bits = {32, 0 <repeats 15 times>}}
        tv = {tv_sec = 59, tv_usec = 982019}
#2  0x00007ffff755d6fa in start_thread (arg=0x7ffff16c3700) at 
pthread_create.c:333
        __res = <optimized out>
        pd = 0x7ffff16c3700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737243789056, 
-6411621158556266697, 0, 140737488347791, 140737243789760,
                0, 6411641934948863799, 6411637325592923959}, mask_was_saved = 
0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {
              prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#3  0x00007ffff7293b5d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 4 (Thread 0x7ffff1ec4700 (LWP 27692)):
#0  0x00007ffff7289d13 in select () at ../sysdeps/unix/syscall-template.S:84
No locals.
#1  0x000000000040508a in worker (arg=<optimized out>) at nslcd.c:548
        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {0, 
-6411621158556266697, 0, 140737488347791, 140737252182464, 0,
                6411643034928156471, -6411621710253256905}, __mask_was_saved = 
0}}, __pad = {0x7ffff1ec3f30, 0x0, 0x0, 0x0}}
        __cancel_routine = 0x404fa0 <worker_cleanup>
        __cancel_arg = <optimized out>
        __not_first_call = <optimized out>
        session = <optimized out>
        csock = <optimized out>
        j = <optimized out>
        addr = {ss_family = 0, __ss_align = 0, __ss_padding = '\000' <repeats 111 
times>}
        alen = 0
        fds = {fds_bits = {32, 0 <repeats 15 times>}}
        tv = {tv_sec = 56, tv_usec = 202686}
#2  0x00007ffff755d6fa in start_thread (arg=0x7ffff1ec4700) at 
pthread_create.c:333
        __res = <optimized out>
        pd = 0x7ffff1ec4700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737252181760, 
-6411621158556266697, 0, 140737488347791, 140737252182464,
                0, 6411643034997362487, 6411637325592923959}, mask_was_saved = 
0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {
              prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#3  0x00007ffff7293b5d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 3 (Thread 0x7ffff26c5700 (LWP 27691)):
#0  0x00007ffff71c2418 in __GI_raise (sig=sig@entry=6) at 
../sysdeps/unix/sysv/linux/raise.c:54
        resultvar = 0
        pid = 27686
        selftid = 27691
#1  0x00007ffff71c401a in __GI_abort () at abort.c:89
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x4, sa_sigaction = 0x4}, 
sa_mask = {__val = {140737018593312, 4060,
              140737260566080, 6, 140737354092544, 140737349756146, 222, 
140737349756360, 140737018651184, 3, 140737339525820,
              140737340623400, 140737340637040, 0, 140737340623400, 
140737349756146}}, sa_flags = -134262784,
          sa_restorer = 0x7ffff7bd24f2}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007ffff71babd7 in __assert_fail_base (fmt=<optimized out>, 
assertion=assertion@entry=0x7ffff7bd24f2 "sb != NULL",
    file=file@entry=0x7ffff7bd23f8 "../../../../libraries/liblber/io.c", 
line=line@entry=222,
    function=function@entry=0x7ffff7bd25c8 "ber_flush2") at assert.c:92
        str = 0x7fffe400e050 ""
        total = 4096
#3  0x00007ffff71bac82 in __GI___assert_fail (assertion=0x7ffff7bd24f2 "sb != 
NULL",
    file=0x7ffff7bd23f8 "../../../../libraries/liblber/io.c", line=222, 
function=0x7ffff7bd25c8 "ber_flush2") at assert.c:101
No locals.
#4  0x00007ffff7bce0d2 in ber_flush2 () from 
/usr/lib/x86_64-linux-gnu/liblber-2.4.so.2
No symbol table info available.
#5  0x00007ffff798f2b4 in ?? () from 
/usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2
No symbol table info available.
#6  0x00007ffff798f02d in ?? () from 
/usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2
No symbol table info available.
#7  0x00007ffff798f51a in ldap_abandon_ext () from 
/usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2
No symbol table info available.
#8  0x00007ffff798f586 in ldap_abandon () from 
/usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2
No symbol table info available.
#9  0x0000000000408080 in do_close (session=0x7fffe40008c0) at myldap.c:929
        i = <optimized out>
        rc = 32767
        sec = <optimized out>
#10 0x000000000040976b in myldap_get_entry (search=search@entry=0x7fffe4003450, 
rcp=rcp@entry=0x7ffff26c3aac) at myldap.c:1646
        tv = {tv_sec = 8589934592, tv_usec = 9}
        count = 0
        rc = -1
        parserc = <optimized out>
        tvp = 0x0
        resultcontrols = 0x7ffff26c3ce0
        rcp = 0x7ffff26c3aac
        search = 0x7fffe4003450
#11 0x0000000000412b06 in nslcd_group_byname (fp=fp@entry=0x7fffe4000fb0, 
session=session@entry=0x7fffe40008c0) at group.c:429
        tmpint32 = 16778240
        search = 0x7fffe4003450
        entry = <optimized out>
        base = <optimized out>
        rc = 0
        i = <optimized out>
        name = "group1", '\000' <repeats 252 times>
        filter = "(&(objectClass=posixGroup)(cn=group1))", '\000' <repeats 1853 
times>...
#12 0x000000000040549c in handleconnection (session=0x7fffe40008c0, sock=6) at 
nslcd.c:390
        fp = 0x7fffe4000fb0
        action = <optimized out>
        pid = 27695
        uid = 0
        gid = 0
#13 worker (arg=<optimized out>) at nslcd.c:591
        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {0, 
-6411621158556266697, 0, 140737488347791, 140737260575168, 0,
                6411644132829171511, -6411621710253256905}, __mask_was_saved = 
0}}, __pad = {0x7ffff26c4f30, 0x0, 0x0, 0x0}}
        __cancel_routine = 0x404fa0 <worker_cleanup>
        __cancel_arg = <optimized out>
        __not_first_call = <optimized out>
        session = <optimized out>
        csock = 6
        j = <optimized out>
        addr = {ss_family = 1, __ss_align = 0, __ss_padding = '\000' <repeats 111 
times>}
        alen = 2
        fds = {fds_bits = {32, 0 <repeats 15 times>}}
        tv = {tv_sec = 56, tv_usec = 220623}
#14 0x00007ffff755d6fa in start_thread (arg=0x7ffff26c5700) at 
pthread_create.c:333
        __res = <optimized out>
        pd = 0x7ffff26c5700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737260574464, 
-6411621158556266697, 0, 140737488347791, 140737260575168,
                0, 6411644132898377527, 6411637325592923959}, mask_was_saved = 
0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {
              prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#15 0x00007ffff7293b5d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 2 (Thread 0x7ffff2ec6700 (LWP 27690)):
#0  0x00007ffff7289d13 in select () at ../sysdeps/unix/syscall-template.S:84
No locals.
#1  0x000000000040508a in worker (arg=<optimized out>) at nslcd.c:548
        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {0, 
-6411621158556266697, 0, 140737488347791, 140737268967872, 0,
                6411645232877670199, -6411621710253256905}, __mask_was_saved = 
0}}, __pad = {0x7ffff2ec5f30, 0x0, 0xff, 0x0}}
        __cancel_routine = 0x404fa0 <worker_cleanup>
        __cancel_arg = <optimized out>
        __not_first_call = <optimized out>
        session = <optimized out>
        csock = <optimized out>
        j = <optimized out>
        addr = {ss_family = 0, __ss_align = 0,
          __ss_padding = '\000' <repeats 17 times>, "\377", '\000' <repeats 43 times>, 
"\377\377\377", '\000' <repeats 16 times>, ' ' <repeats 16 times>, '\000' <repeats 15 times>}
        alen = 32767
        fds = {fds_bits = {32, 0 <repeats 15 times>}}
        tv = {tv_sec = 56, tv_usec = 202243}
#2  0x00007ffff755d6fa in start_thread (arg=0x7ffff2ec6700) at 
pthread_create.c:333
        __res = <optimized out>
        pd = 0x7ffff2ec6700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737268967168, 
-6411621158556266697, 0, 140737488347791, 140737268967872,
                0, 6411645232946876215, 6411637325592923959}, mask_was_saved = 
0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {
              prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#3  0x00007ffff7293b5d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

Thread 1 (Thread 0x7ffff7fbf740 (LWP 27686)):
#0  0x00007ffff72588dd in nanosleep () at ../sysdeps/unix/syscall-template.S:84
No locals.
#1  0x00007ffff725882a in __sleep (seconds=0, seconds@entry=2147483647) at 
../sysdeps/posix/sleep.c:55
        save_errno = 17
        ts = {tv_sec = 2147483643, tv_nsec = 203032340}
#2  0x000000000040483f in main (argc=<optimized out>, argv=<optimized out>) at 
nslcd.c:863
        i = 5
        signalmask = {__val = {23079, 0 <repeats 15 times>}}
        oldmask = {__val = {0, 0, 0, 4278190080, 0, 0, 280375465083135, 
18374686479688335360, 0, 0, 1095216660480, 65280, 0, 0,
            0, 0}}
        ts = {tv_sec = 4131212846, tv_nsec = 4201724}
(gdb)
-- 
To unsubscribe send an email to
nss-pam-ldapd-users-unsubscribe@lists.arthurdejong.org or see
http://lists.arthurdejong.org/nss-pam-ldapd-users/