Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Jan 2024 21:41:19 +0000
From:      Souji Thenria <mail@souji-thenria.net>
To:        Rocky Hotas <rockyhotas@post.com>, FreeBSD Questions <freebsd-questions@freebsd.org>
Subject:   Re: auth.log error with nss-pam-ldapd in LDAP client
Message-ID:  <59c5a96e-d4b1-4a5e-ae52-a487c8c6e286@souji-thenria.net>
In-Reply-To: <trinity-228e60fc-0552-42b1-8067-271fb0326d7b-1704746374176@3c-app-mailcom-lxa12>
References:  <trinity-81261d30-7268-4bec-9268-ce19c331a1ae-1704718198974@3c-app-mailcom-lxa03> <1b84e5fa-41c1-471e-80bd-cc7595775ccc@souji-thenria.net> <trinity-228e60fc-0552-42b1-8067-271fb0326d7b-1704746374176@3c-app-mailcom-lxa12>

next in thread | previous in thread | raw e-mail | index | archive | help
Hey Rocky!

> The ACLs should be very permissive in this test stage (all the database
> should be readable by anyone). But the problem turned out to be exactly
> about depth as you mentioned! By referring a single user with its `cn'
> I can print all the information about him/her
> 
> ldapsearch -x -b 'dc=examplehost,dc=domain' '(cn=Name Surname)'
> 
> or by referring a group I can print all the child items:
> 
> ldapsearch -x -b 'ou=groups,dc=examplehost,dc=domain' '(objectclass=*)'
> 
> Without any further options, the default is to descend of no more than two
> levels from the starting point in the command line (in this last example,
> no more than two levels below 'ou=groups,dc=examplehost,dc=domain').
> 
> The relevant option in ldapsearch(1) is 
> 
>        -s {base|one|sub|children}
>               Specify the scope of the search to be one of base, one, sub, or
>               children to specify a base object, one-level, subtree, or
>               children search.  The default is sub.  Note: children scope
>               requires LDAPv3 subordinate feature extension.
> 
> However, I still can not print all the objects using `-s children'. Maybe
> I don't have the mentioned feature.

Good to know.
You might want to use some graphical tool like 'Apache Directory
Studio'. I found it quite useful in the past.

>> That's to be expected. The user you use to query the LDAP directory
>> properly has no access to the 'userPassword' attribute of every user;
>> that's why you don't see any passwords for the LDAP users.
> 
> Ok! But is it normal that a `x', instead of an asterisk, is used to
> represent the missing password?

The asterisk signals that password authentication is disabled; see
passwd(5). The 'x' signals that the password is not in '/etc/passwd' (in
your case, it is in the LDAP directory).

>> I'm not sure about this, but if I remember correctly, there is also
>> another PAM module you need in order to authenticate a user against the
>> LDAP directory. The nss-pam-ldapd is only to query data for the NSS.
> 
> I think it's included in nss-pam-ldapd, which should replace both
> security/pam_ldap and net/nss_ldap:
> 
> # pkg info -l nss-pam-ldapd
> nss-pam-ldapd-0.9.12_1:
>         /usr/local/etc/nslcd.conf.sample
>         /usr/local/etc/rc.d/nslcd
>         /usr/local/lib/nss_ldap.so
>         /usr/local/lib/nss_ldap.so.1
>         /usr/local/lib/pam_ldap.so
>         /usr/local/lib/pam_ldap.so.1
>         /usr/local/man/man5/nslcd.conf.5.gz
>         /usr/local/man/man8/nslcd.8.gz
>         /usr/local/man/man8/pam_ldap.8.gz
>         /usr/local/sbin/nslcd
>         /usr/local/share/licenses/nss-pam-ldapd-0.9.12_1/LGPL21
>         /usr/local/share/licenses/nss-pam-ldapd-0.9.12_1/LGPL3
>         /usr/local/share/licenses/nss-pam-ldapd-0.9.12_1/LICENSE
>         /usr/local/share/licenses/nss-pam-ldapd-0.9.12_1/catalog.mk
> 
> Both nss_ldap.so and pam_ldap.so are installed with this package.
> In the /etc/pam.d/sshd module example, in fact, I used
> /usr/local/lib/pam_ldap.so.

You are right. The pam_ldap is also configured using the nsldc.conf file.

Regarding your SSH problem:
Replace 'use_first_pass' with 'try_first_pass' (see pam_ldap(8)).
'use_first_pass' won't prompt for a password. The other one should.

Regards,
Souji

-- 
Souji Thenria




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?59c5a96e-d4b1-4a5e-ae52-a487c8c6e286>