On 05/03/2010 09:41 AM, Indexer wrote:
> I am currently trying to make a ldap server which i can use to authenticate 
> users. Sadly a large number of how to's are incomplete and don't work, so 
> after reading alot of how to's and manuals I have got 99.9% of the way. On 
> attempting to authenticate a user it denies the user access with a error from 
> auth.log
> 
> May  4 02:21:08 nemo sshd[1271]: error: PAM: authentication error for william 
> from 172.20.0.1
> 
> I can succesfully search the ldap with this user binding to the ldap
> 
>  ldapsearch -x -D "uid=william,ou=Admin,dc=chocolate,dc=lan" -W 
> '(uid=william)'
> Enter LDAP Password: 
> # extended LDIF
> #
> # LDAPv3
> # base <dc=chocolate,dc=lan> (default) with scope subtree
> # filter: (uid=william)
> # requesting: ALL
> #
> 
> # william, Admin, chocolate.lan
> dn: uid=william,ou=Admin,dc=chocolate,dc=lan
> uid: william
> cn: william
> objectClass: account
> objectClass: posixAccount
> objectClass: shadowAccount
> objectClass: top
> loginShell: /bin/bash
> uidNumber: 10000
> gidNumber: 10000
> homeDirectory: /home/william
> userPassword:: e1NTSEF9Z3BQd05Lc3JUMWwxSVNhOVQvN1dPb3ZOcnVBSXJwVTE=
> gecos: William Brown,,,,
> description: William Brown
> shadowLastChange: 1
> shadowMax: 0
> shadowExpire: 0
> 
> # search result
> search: 2
> result: 0 Success
> 
> # numResponses: 2
> # numEntries: 1
> 
> Slapd when trying to authenticate shows this.
> 
> /usr/local/libexec/slapd -4 -d 256
> 
> slapd starting
> conn=0 fd=10 ACCEPT from IP=127.0.0.1:28629 (IP=0.0.0.0:389)
> conn=0 op=0 BIND dn="" method=128
> conn=0 op=0 RESULT tag=97 err=0 text=
> connection_input: conn=0 deferring operation: binding
> conn=0 op=1 SRCH base="ou=Nemo,ou=Group,dc=chocolate,dc=lan" scope=1 deref=0 
> filter="(&(objectClass=posixGroup))"
> conn=0 op=1 SRCH attr=cn userPassword memberUid uniqueMember gidNumber
> conn=0 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text=
> conn=0 op=2 SRCH base="ou=Marvin,ou=Group,dc=chocolate,dc=lan" scope=1 
> deref=0 filter="(&(objectClass=posixGroup))"
> conn=0 op=2 SRCH attr=cn userPassword memberUid uniqueMember gidNumber
> conn=0 op=2 SEARCH RESULT tag=101 err=0 nentries=0 text=
> conn=0 fd=10 closed (connection lost)
> conn=1 fd=10 ACCEPT from IP=127.0.0.1:43475 (IP=0.0.0.0:389)
> conn=1 op=0 BIND dn="" method=128
> conn=1 op=0 RESULT tag=97 err=0 text=
> connection_input: conn=1 deferring operation: binding
> conn=1 op=1 SRCH base="ou=Admin,dc=chocolate,dc=lan" scope=1 deref=0 
> filter="(&(objectClass=posixAccount)(uid=william))"
> conn=1 op=1 SRCH attr=uid userPassword uidNumber gidNumber cn homeDirectory 
> loginShell gecos description objectClass shadowLastChange shadowMax 
> shadowExpire
> <= bdb_equality_candidates: (uid) not indexed
> conn=1 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text=
> conn=2 fd=12 ACCEPT from IP=127.0.0.1:15318 (IP=0.0.0.0:389)
> conn=2 op=0 BIND dn="" method=128
> conn=2 op=0 RESULT tag=97 err=0 text=
> connection_input: conn=2 deferring operation: binding
> conn=2 op=1 SRCH base="ou=Admin,dc=chocolate,dc=lan" scope=1 deref=0 
> filter="(&(objectClass=posixAccount)(uid=william))"
> conn=2 op=1 SRCH attr=uid userPassword uidNumber gidNumber cn homeDirectory 
> loginShell gecos description objectClass shadowLastChange shadowMax 
> shadowExpire
> <= bdb_equality_candidates: (uid) not indexed
> conn=2 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text=
> conn=2 op=2 SRCH base="ou=Admin,dc=chocolate,dc=lan" scope=1 deref=0 
> filter="(&(objectClass=posixAccount)(uid=william))"
> conn=2 op=2 SRCH attr=uid userPassword uidNumber gidNumber cn homeDirectory 
> loginShell gecos description objectClass shadowLastChange shadowMax 
> shadowExpire
> <= bdb_equality_candidates: (uid) not indexed
> conn=2 op=2 SEARCH RESULT tag=101 err=0 nentries=1 text=
> conn=2 fd=12 closed (connection lost)
> conn=3 fd=12 ACCEPT from IP=127.0.0.1:63485 (IP=0.0.0.0:389)
> conn=3 op=0 BIND dn="" method=128
> conn=3 op=0 RESULT tag=97 err=0 text=
> connection_input: conn=3 deferring operation: binding
> conn=3 op=1 SRCH base="ou=Admin,dc=chocolate,dc=lan" scope=1 deref=0 
> filter="(&(objectClass=posixAccount)(uid=william))"
> conn=3 op=1 SRCH attr=uid userPassword uidNumber gidNumber cn homeDirectory 
> loginShell gecos description objectClass shadowLastChange shadowMax 
> shadowExpire
> <= bdb_equality_candidates: (uid) not indexed
> conn=3 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text=
> conn=3 op=2 SRCH base="ou=Admin,dc=chocolate,dc=lan" scope=1 deref=0 
> filter="(&(objectClass=posixAccount)(uid=william))"
> conn=3 op=2 SRCH attr=uid userPassword uidNumber gidNumber cn homeDirectory 
> loginShell gecos description objectClass shadowLastChange shadowMax 
> shadowExpire
> <= bdb_equality_candidates: (uid) not indexed
> conn=3 op=2 SEARCH RESULT tag=101 err=0 nentries=1 text=
> conn=3 fd=12 closed (connection lost)
> conn=1 fd=10 closed (connection lost)
> 
> 
> Here is my /etc/ldap.conf
> base dc=chocolate,dc=lan
> suffix dc=chocolate,dc=lan
> uri ldap://ldap.srv.chocolate.lan
> ldap_version 3
> rootbinddn cn=Manager,dc=chocolate,dc=lan
> scope one
> timelimit 3
> bind_timelimit 3
> bind_policy soft
> pam_filter objectclass=posixAccount
> pam_login_attribute uid
> pam_check_host_attr no
> pam_member_attribute memberuid
> pam_password exop
> nss_reconnect_tries 4                   # number of times to double the sleep 
> time
> nss_reconnect_sleeptime 1               # initial sleep value
> nss_reconnect_maxsleeptime 16   # max sleep value to cap at
> nss_reconnect_maxconntries 2    # how many tries before sleeping
> nss_base_passwd         ou=Admin,dc=chocolate,dc=lan?one
> nss_base_passwd         ou=People,dc=chocolate,dc=lan?one
> nss_base_shadow         ou=Admin,dc=chocolate,dc=lan?one
> nss_base_shadow         ou=People,dc=chocolate,dc=lan?one
> nss_base_group          ou=Nemo,ou=Group,dc=chocolate,dc=lan?one
> nss_base_group          ou=Marvin,ou=Group,dc=chocolate,dc=lan?one
> ssl off
> 
> Here is /etc/openldap/slapd.conf
> 
> include         /usr/local/etc/openldap/schema/core.schema
> include         /usr/local/etc/openldap/schema/cosine.schema
> include          /usr/local/etc/openldap/schema/inetorgperson.schema
> include          /usr/local/etc/openldap/schema/nis.schema
> pidfile         /var/run/openldap/slapd.pid
> argsfile        /var/run/openldap/slapd.args
> modulepath      /usr/local/libexec/openldap
> moduleload      back_bdb
> access to attrs=userPassword
>         by dn="uid=william,ou=Admin,dc=chocolate,dc=lan" write
>         by anonymous auth
>         by self write
>         by * none
>  access to *
>         by self write
>         by users read
> database        bdb
> suffix          "dc=chocolate,dc=lan"
> rootdn          "cn=Manager,dc=chocolate,dc=lan"
> rootpw          {SSHA}pG0QHakwiNmJHXcyTB5H4RQtoDAGbEsm
> directory       /var/db/openldap-data
> index   objectClass     eq 
> index   uid     eq
> password-hash {SSHA}
> 
> Here is the /etc/openldap/ldap.conf from both the client and server
> 
> BASE    dc=chocolate,dc=lan
> URI     ldap://ldap.srv.chocolate.lan
> 
> Any help with this would be greatly appreciated
> 
> William
> 
> 
I haven't set this up on gentoo, only on debian-server with
ubuntu-clients...

Does NSS work already? Do you see the LDAP users/group after the
passwd-users when you run
$ getent passwd
$ getent group

Assuming you have configured /etc/nsswitch.conf:
passwd:         compat ldap
group:          compat ldap
shadow:         compat ldap
("files ldap" is OK too.)

As long as that does not work, it doesn't make sense to continue to PAM.

Is the password in /etc/ldap.secret OK? Mode should be 400. Try to see
if the password for cn=Manager,dc=chocolate,dc=lan in there does have
possibly problematic characters.

I need to use nscd on the clients.

BTW: I use MDS/MMC (http://mds.mandriva.org/) on all debian servers for
User/Samba/DNS/DHCP/Mail management with LDAP. It's really good.

The most trickiest part of setting up LDAP-clients is always PAM :(
Fortunately for debian/ubuntu there are good guides. If you find out how
to do it with gentoo, that info would be appreciated (gentoo-wiki?).

Good luck,
Daniel

-- 
PGP key @ http://pgpkeys.pca.dfn.de/pks/lookup?search=0xBB9D4887&op=get
# gpg --recv-keys --keyserver hkp://subkeys.pgp.net 0xBB9D4887

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to