基本構成

基本構成

これまで openldap を使ったことがないので、テスト用の openldap サーバーをセットアップしようとしています。Redhat ベースのマシン (Oracle Linux を使用) で標準の openldap-servers パッケージを使用しています。パッケージをインストールし、サーバーを起動しました。

今のところ、サーバーに実際に何か役に立つことをさせる方法がわかりません。luma を使用してサーバーを参照することはできません (最上位エントリにアクセスしようとすると、「そのようなオブジェクトはありません」と表示されます)。openldap のドキュメントでは、サーバーを実際に基本的な動作構成にする方法がわかりにくく、オンラインの情報はすべて、新しい slapd.d および cn=config ではなく、古い slapd.conf ファイルに関するものです。

luma のルート DN を参照できる、標準パッケージの openldap インストールを動作させるにはどうすればよいですか?

答え1

あなたの痛みが分かります。

これを試してください (Scientific Linux 6.5 でテスト済みなので、OL でも動作するはずです)。

  • OpenLDAP サーバーをインストールしますyum install openldap-servers openldap-clients:)
  • 開始slapd: service slapd start(そして多分chkconfig slapd on)
  • cn=configを使用して、および通常の LDAP 管理ユーザーのパスワードを作成しますslappasswd。この出力をメモします。
  • 次の内容の LDIF ファイルを作成します。
dn: olcDatabase={0}config、cn=config
変更タイプ: 変更
追加: olcRootPW
olcルートパスワード: {SSHA}TXcmvaldskl312012cKsPK1cY2321+aj

dn: olcDatabase={2}bdb、cn=config
変更タイプ: 変更
追加: olcRootPW
olcルートパスワード: {SSHA}TXcmvaldskl312012cKsPK1cY2321+aj
-
置換: olcRootDN
olcRootDN: cn=admin,dc=your,dc=base,dc=com
-
置換: olcSuffix
olcサフィックス: dc=your、dc=base、dc=com
  • の値は、前にメモしolcRootPWた出力に置き換える必要がありますslappaswd
  • 当然、olcSuffix新しいolcRootDNベース DN に合わせて調整する必要があります。
  • 次のコマンドを使用して、これらすべてを LDAP サーバーに送信します。

    ldapmodify -a -Q -Y EXTERNAL -H ldapi:/// -f yourfile.ldif

cn=configその後は、両方にLDAP 経由で接続できるようになりますdc=your,dc=base,dc=com

答え2

OpenLDAP サーバーを起動する前に、まずいくつかの設定を行う必要があります。

基本構成

ベース DN を定義するとともに、ルート ユーザーとパスワードを設定する必要があります。 でslapd.conf、次の行を探し、必要な値に設定します。

suffix "dc=example,dc=com"
rootdn "cn=root,dc=example,dc=com"

通常、ベース DN (suffixファイルで として定義) は、ドメイン名のコンポーネントであり、カンマで区切られ、 がプレフィックスとして付きますdc=。したがって、serverfault.comは となる可能性がありますdc=serverfault,dc=com。 はrootdn、そのサフィックスの下にある必要があります。

また、ルート パスワードを定義する行も変更する必要があります。プレーンテキスト値に設定するか、を使用してハッシュを作成することができます。次に、プレーンテキスト値またはハッシュ値のいずれかを次のような行にslappasswd配置する必要があります。slappasswd

rootpw myultrasecurepassword

スキーマ

この時点で、使用するスキーマについて考え始めるのが得策です。スキーマはオブジェクトが持つことができる属性を定義するので、必要な属性を含むスキーマを含める必要があります。これらのスキーマは の先頭に含まれておりslapd.conf、ここにあるスキーマは通常、必要となる絶対的な基本スキーマです。

include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema

これらのパスは Arch Linux で使用されるものなので、Oracle Linux に合わせて調整する必要がある場合があります。

についてslapd.confvsslapd.d

OpenLDAP はオフライン構成 ( で実行) からオンライン構成に切り替わり、にあるslapd.conf特別なツリーにデータを保存します。ただし、のファイルを変更するのは面倒な作業なので、上記のように編集してから新しい形式に変換する方がはるかに簡単です。cn=configslapd.dldifslapd.dslapd.confslapd.d

まず、 内のすべてを削除しますslapd.d。次に、Oracle Linux へのパスを調整しながら、次のコマンドを実行します。

slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/

次に、そのディレクトリの LDAP ユーザーとグループに所有者を再帰的に設定するだけで、準備完了です。これは編集するたびに実行する必要がありますslapd.conf。実行する前に OpenLDAP サーバーを停止することを忘れないでください。

初回実行

実際にディレクトリを使用する前に、ベース DN (およびルート ユーザー) を作成する必要があります。.ldif次のような行を含むファイルを作成します。

dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: example.com
dc: example

dn: cn=root,dc=example,dc=com
objectclass: organizationalRole
cn: root

次に、OpenLDAP サーバーを起動します。その情報を LDAP ディレクトリにプッシュするだけです。

ldapadd -D "cn=root,dc=example,dc=com" -W -f initial.ldif

当然、ルート DN と ldif ファイル名を、お持ちのものと一致するように変更します。

これで、機能する LDAP ディレクトリが設定され、データを入力する準備が整いました。


Arch Linux wikiはこのトピックに関する素晴らしい情報源です。https://wiki.archlinux.org/index.php/OpenLDAPそしてhttps://wiki.archlinux.org/index.php/LDAP_Authenticationもっと詳しく知りたい場合。

関連情報