2017-10-30 13 views
0

私がやろうとしていることはかなりシンプルだと思います。入力バインドでパスワードが正しいことを確認し、ユーザーが特定のグループのメンバーであることを確認するようにldapを設定します。次のクエリを実行ユーザーをバインドして、それらが正しいグループに含まれていることを確認するにはどうすればよいですか?

は、私は次のクエリ

ldapsearch -x -H "ldap://localhost" -D "(&(cn=My Name)(memberOf=cn=admin,ou=groups,dc=example,dc=com))" -W -b "dc=example,dc=com" 

のldapsearchは、次のエラーに

を投げ続けて試してみましたが、次の

ldapsearch -x -LLL -H ldap:/// -b uid=myname,ou=users,dc=example,dc=com dn memberof 

結果

dn: uid=myname,ou=users,dc=example,dc=com 
memberOf: cn=admin,ou=groups,dc=example,dc=com 

を生み出します

ldap_bind: Invalid DN syntax (34) 
     additional info: invalid DN 

私は間違っていますか?

+0

は十分にこの答えですまたは他の問題に遭遇しましたか?通常、エントリルックアップのために、技術的なアカウントを使用してディレクトリにバインドします。エントリを確認したい同じユーザーにバインドする必要がありますか(このユーザーがDIT全体を検索するための十分なアクセス許可を持っているかどうかわかりません)。 – EricLavault

+0

@EricLavault、あなたの答えは正しい軌道に乗っていて、あなたが示唆したとおりにコマンドを微調整したところ、それはうまくいった。私もバインドに人間以外のサービスアカウントを使用していましたが、私はバインドとしてフィルターを入れ続けました!それは今意味がある –

答えて

2

検索クエリに修正するための2つのことがあります。

  • フィルタの部分は、すべてのオプションの後と属性があればのリストの前に配置する必要がありますが。
  • -Dオプションには、LDAPディレクトリにバインドするために、バインドdnが必要です。言い換えれば

:​​

あなたはcn=manager,dc=example,dc=com dnのこのバインドを使用することができ、あなたはこのように見えるのクエリで終わる必要があると仮定:

ldapsearch -x -H "ldap://localhost" -D "cn=manager,dc=example,dc=com" -W -b "dc=example,dc=com" "(&(cn=My Name)(memberOf=cn=admin,ou=groups,dc=example,dc=com))" 

https://linux.die.net/man/1/ldapsearch

関連する問題