我尝试设置一个LDAP目录,允许我对Debian用户进行身份validation。 一旦LDAP服务器和PAM文件的configuration完成,authentication失败。 我认为客户端没有findldap用户进入目录。 当我尝试用一个LDAP用户login它说不好的login,当我尝试login本地用户,它要求我一个密码,然后LDAP密码。
服务器
1)我先安装了ldap-utils libldap-2.4-2 libldap-2.4-2-dbg slapd slapd-dbg
2)在文件/etc/ldap/ldap.conf中:
BASE dc=example,dc=com URI ldap://192.168.1.254/
3)
dpkg-reconfigure slapd
我检查有关域的信息是正确的:正确的。
4)
ldapsearch -x
它符合我之前select的。
5)我为目录和用户创build.ldif文件
structure.ldif:
dn: ou=users,dc=example,dc=com objectClass: organizationalUnit u: users description: users dn: ou=computers,dc=example,dc=com objectClass: organizationalUnit ou: computers description: computers dn: ou=sale,ou=users,dc=example,dc=com objectClass: organizationalUnit ou: sale description: sale dn: ou=direction,ou=users,dc=example,dc=com objectClass: organizationalUnit ou: direction description: direction dn: cn=sale,ou=sale,ou=users,dc=example,dc=com objectClass: posixGroup gidNumber: 501 cn: sale description: Sale group dn: cn=direction,ou=direction,ou=users,dc=example,dc=com objectClass: posixGroup gidNumber: 502 cn: direction description: Direction group dn: cn=pauldupont,cn=direction,ou=direction,ou=users,dc=newsoft,dc=ch cn=pauldupont,cn=direction,ou=direction,ou=users,dc=example,dc=com objectClass: inetOrgPerson objectClass: posixAccount uid: pauldupont userPassword: pauldupont cn: pauldupont uidnumber: 1050 gidnumber: 501 homeDirectory: /home/profils/pauldupont sn: pauldupont
adduseringroup.ldif:
dc: cn=sale,ou=sale,ou=users,dc=example,dc=com changetype: modify add: memberuid memberuid: uid=pauldupont,cn=direction,ou=direction,ou=users,dc=example,dc=com
6)我将文件发送到目录中:
ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f file.ldif
6)
ldapsearch -x
信息在那里。
客户
1)我安装了ldap-utils libldap-2.4-2 libldap-2.4-2-dbg slapd slapd-dbg libnss -ldap libpam -ldap libpam-modules libpam-cracklib nscd
2)libnss-ldapconfiguration:server ip:192.168.1.254,dc = example,dc = com
3)libpam-ldapconfiguration:不是说LDAPpipe理员就像本地用户,不是LDAP服务器在查询之前要求提供信息
4)dpkg-reconfigure libnss-ldap
信息是正确的。
5)在文件/etc/ldap/ldap.conf中
BASE dc=example,dc=com URI ldap://192.168.1.254/
6)在/etc/nsswitch.conf文件中
passwd: compat ldap group: compat ldap shadow: compat ldap
7)在/etc/libnss-ldap.conf文件中
base dc=example,dc=com uri ldap://192.168.1.254/ ldap_version 3 rootbinddn cn=admin,dc=example,dc=com
8)在文件/etc/libnss-ldap.secret中
ldap password
9)在文件/etc/pam_ldap.conf中:
base dc=example,dc=com uri ldap://192.168.1.254/ rootbinddn cn=admin,dc=example,dc=com port 389 scope sub bind_timelimit 30 idle_timelimit 3600 pam_filter objectClass=posixAccount pam_login_attribute uid
10)在文件/etc/pam.d/common-auth&common-account&common-session我在底部添加了:
auth sufficient pam_ldap.so
11)在文件/etc/pam.d/common-password我加在底部:
password sufficient pam_ldap.so use_first_pass
12)
getent passwd && getent group
只显示本地用户和组。
13)客户端似乎联系服务器:
ldapsearch -x -H "ldap://192.168.1.254" -b "dc=example,dc=com" dn
给我回dn条目
14)getent passwd pauldupont
什么都不给我,当我login/var/log/auth.log:
May 12 10:43:36 CLI1-DIR-DEB nscd: nss_ldap: failed to bind to LDAP server ldap:///192.168.1.254/: Invalid credentials May 12 10:43:36 CLI1-DIR-DEB nscd: nss_ldap: reconnecting to LDAP server... May 12 10:43:36 CLI1-DIR-DEB nscd: nss_ldap: failed to bind to LDAP server ldap:///192.168.1.254/: Invalid credentials May 12 10:43:36 CLI1-DIR-DEB nscd: nss_ldap: reconnecting to LDAP server... May 12 10:43:37 CLI1-DIR-DEB nscd: nss_ldap: failed to bind to LDAP server ldap:///192.168.1.254/: Invalid credentials May 12 10:43:37 CLI1-DIR-DEB nscd: nss_ldap: could not search LDAP server - Server is unavailable
看来证书是错误的。 我检查了上面的所有configuration文件,我找不到任何错误。
有人知道问题在哪里吗?
感谢您的帮助。
我使用Debian Jessie 8.0 AMD64作为客户端和服务器
uname -a:Linux SRV1-DEB 3.16.0-4-amd64#1 SMP Debian 3.16.7-ckt9-3〜deb8u1(2015-04-24)x86_64 GNU / Linux
OpenLDAP 2.4
编辑 :一旦我在/etc/ldap.secret文件中添encryption码,我做了一个getent密码 ,我得到了ldap用户,但我仍然无法连接。
一旦我尝试连接,我有这在日志文件中:
May 18 09:09:53 CLI1-DIR-DEB login[904]: pam_mail(login:session): user unknown May 18 09:09:53 CLI1-DIR-DEB login[904]: pam_loginuid(login:session): error_ log for user-name'pauldupont' does not exist May 18 09:09:53 CLI1-DIR-DEB login[904]: pam_unix(login:session): session opened for user pauldupont by LOGIN(uid=0) May 18 09:09:53 CLI1-DIR-DEB login[904]: pam_systemd(login:session): Failed to get user data May 18 09:09:53 CLI1-DIR-DEB login[904]: pam_systemd(login:session): Failed to get user data May 18 09:09:53 CLI1-DIR-DEB login[904]: User not known to the underlying authentication module
它看起来像你提供了一个binddn,但它的凭据不好。 /etc/ldap.secret的内容和你在-W提示符中的内容完全一样吗?
rootbinddn是客户端机器上root用户使用的binddn。 它通常不应该是后缀的rootdn,因为这意味着妥协的机器也会危及目录。
很less有使用sssd over pam_ldap和nss-ldap / nss-ldapd不是正确的select的情况。 这不是其中之一。 (根据我的经验,仅限于validation非posix帐户。)
在处理组RFC2307与RFC2307bis的时候,还有其他的一些错误,但是在这之前你就失败了。 当这成为你的实际问题提出另一个问题。