web-dev-qa-db-ja.com

LDAP認証が失敗する

Debianユーザーを認証できるLDAPディレクトリを設定しようとしています。 LDAPサーバーとPAMファイルの構成が完了すると、認証は失敗します。クライアントがLDAPユーザーをディレクトリに見つけられないと思います。 LDAPユーザーでログインしようとすると、「不正なログイン」と表示され、ローカルユーザーでログインしようとすると、パスワード、次にLDAPパスワードの入力を求められます。

サーバー

1)最初にldap-utils libldap-2.4-2libldap-2.4-2-dbgをインストールしましたslapdslapd-dbg

2)ファイル/etc/ldap/ldap.conf内:

BASE dc=example,dc=com    

URI ldap://192.168.1.254/

3)

dpkg-reconfigure slapd

ドメインに関する情報が正しいことを確認します:正しい。

4)

ldapsearch -x

それは私が以前に選んだものと一致します。

5)ディレクトリとユーザーの.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-cracklibnscdをインストールしました

2)libnss-ldap構成:サーバーIP:192.168.1.254、dc = example、dc = com

3)libpam-ldap構成:LDAP管理者がローカルユーザーのようであること、LDAPサーバーがクエリを実行する前に情報を要求することはありません

4)dpkg-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

/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

資格情報が間違っているようです。上記のすべての構成ファイルを確認しましたが、間違いは見つかりませんでした。

問題がどこにあるか誰か知っていますか?

ご協力ありがとうございました。

クライアントとサーバーに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

[〜#〜] edit [〜#〜]:/ etc/ldap.secretファイルにパスワードを追加し、getent passwdを実行すると、 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
3
EAI

Binddnを提供しているようですが、資格情報が正しくありません。 /etc/ldap.secretの内容と-Wプロンプトに入力した内容はまったく同じですか?


rootbinddnは、クライアントマシンのrootが使用するbinddnです。通常、サフィックスのrootdnであってはなりません。これは、マシンが侵害されるとディレクトリも侵害されることを意味するためです。


pam_ldapおよびnss-ldap/nss-ldapdではなくsssdを使用することが正しい選択ではない状況はほとんどありません。これはそれらの1つではありません。 (私の経験では、POSIX以外のアカウントの認証に限定されていました。)


グループRFC2307とRFC2307bisの処理には他にも問題がありますが、それ以前は失敗しています。それがあなたの実際の問題になるとき、別の質問をしてください。

3
84104