質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
LDAP

LDAPは、ディレクトリデータベースにアクセスするためのプロトコルです。ディレクトリデータベースとは、ネットワークに存在するメールアドレスや環境などさまざまな情報を一元的に管理するサービスのことで、クライアントはLDAPサーバにアクセスしてユーザ名から検索や追加などの操作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

2707閲覧

ldapで複数のdnに対してpasswordを設定する方法

dialbird

総合スコア379

LDAP

LDAPは、ディレクトリデータベースにアクセスするためのプロトコルです。ディレクトリデータベースとは、ネットワークに存在するメールアドレスや環境などさまざまな情報を一元的に管理するサービスのことで、クライアントはLDAPサーバにアクセスしてユーザ名から検索や追加などの操作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2016/10/19 03:43

こんにちは

昔ldapで開発されたプロジェクトのサーバ移動を任されたものです。

今回ldapを触るのが初めてなので、正直なにをどうしていいのか手探り状態です。
その中でも、「それぞれのdnに対してパスワードを設定する方法」がわかりません。

phpのコードの中で

php

1ldap_bind($ldapconn , <一つ目のdn>, <一つ目のpasswd> ); 2 3//色々な処理 4 5ldap_bind($ldapconn , <別のdn>, <二つ目のpasswd>);

というふうに、複数のdnに対してbindしているようなのですが、passwdの設定する場所としてこのページのようなslapd.confの中のrootdnとかしかわからないため、複数パスワードを設定する方法を知らないのです。

どなたかご存知ないでしょうか?

環境は

bash

1$ uname -a 2Linux localhost.localdomain 2.6.32-642.6.1.el6.x86_64 #1 SMP Wed Oct 5 00:36:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 3 4$ php -v 5PHP 5.3.3 (cli) (built: Aug 11 2016 20:33:53) 6 7$ yum list installed | grep openldap 8openldap.x86_64 2.4.40-12.el6 @base 9openldap-clients.x86_64 10openldap-servers.x86_64

よろしくお願いします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ldappasswd で変更できると思います。
http://l-w-i.net/t/openldap/ldappasswd_001.txt

OpenLDAP2.4 系だと、コンフィグもldapデータベースに収められるので、slapd.confが存在するのは特殊な設定をしているのでしょうか?
slapd.confに記載するrootdnは管理者に関わる設定になり、それ以外のdnの情報はldapデータベースに収まります。
slapcatコマンド等で確認してみては如何でしょうか。
ただし、パスワードについては、ldap設定によってはハッシュ化されるので、その場合は解読不可です。

投稿2016/10/19 07:08

over

総合スコア4309

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dialbird

2016/10/19 07:25

overさん ご返答ありがとうございます! データベースの中にあるのですね。 もしかしてpersonクラスとかにあるuserPasswordとかでしょうか? それでしたら一応登録はしてみたのですが、音沙汰なしです。(slappasswdで出てきたものを入れました) 現状としては最初の管理者のdn(cn=manager,ou=ldapClient,cn=example,cn=com)とpasswordを使ったbindが成功していて、その次のdn(cn=my-name,ou=people,cn=example,cn=com)でのbindがpasswordの設定場所がわからず、クレデンシャルエラーを起こしてます。 slapd.confは元々はなかったのですが、他のサイト(http://qiita.com/mykysyk@github/items/25e6adbfdb313afaf339)を参考にして、`/usr/share/openldap-servers/slapd.conf.obsolete`のをコピペして使いました。 ちなみにslapcatで出してみましたが、passwordはどれも出ませんでした........
dialbird

2016/10/19 07:33

失礼いたしました!見過ごしてました! ldappasswd使ってみます!
over

2016/10/19 07:43

> もしかしてpersonクラスとかにあるuserPasswordとかでしょうか? 各DnのuserPasswordエントリが該当のものだと思います。 > それでしたら一応登録はしてみたのですが、音沙汰なしです。 何を以て音沙汰なしなのでしょうか? > その次のdn(cn=my-name,ou=people,cn=example,cn=com)でのbindがpasswordの設定場所がわからず、クレデンシャルエラーを起こしてます。 これを「音沙汰なし」と表現しています? > slapd.confは元々はなかったのですが、 そうであればOpenLDAP2.4系の設定に従ったサイトを参照されるべきだと思います。 slapd.confは2.3系以前のもので、sysconfigに特別な設定をしないと、そもそも使用しないものだと思います。 http://www.unix-power.net/centos7/openldap.html
dialbird

2016/10/19 07:44

overさん 感謝感激です!できました!ありがとうございます!
dialbird

2016/10/19 07:46

クレデンシャルエラーは実際問題スペルミスであることが判明しました。 大変失礼いたしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問