slapd.d構成を使用した基本的なopenldapセットアップ


14

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

サーバーに実際に何か有用なことをさせる方法を私は今は知りません。ルマ(トップレベルエントリにアクセスしようとすると「そのようなオブジェクトはありません」)を使用してそれを参照することはできません。新しいslapd.dおよびcn = configではなく、古いslapd.confファイル用です。

lumaでルートDNを参照できるバニラパッケージのopenldapインストールを機能させるにはどうすればよいですか?

回答:


20

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

これを試してください(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
olcRootPW:{SSHA} TXcmvaldskl312012cKsPK1cY2321 + aj

dn:olcDatabase = {2} bdb、cn = config
変更タイプ:変更
追加:olcRootPW
olcRootPW:{SSHA} TXcmvaldskl312012cKsPK1cY2321 + aj
-
置換:olcRootDN
olcRootDN:cn = admin、dc = your、dc = base、dc = com
-
置換:olcSuffix
olcSuffix:dc = your、dc = base、dc = com
  • の値olcRootPWslappaswd、前述の出力に置き換える必要があります。
  • 当然のことながら、olcSuffixそしてolcRootDNあなたの新しいベースDNに適合させる必要があります。
  • 次のコマンドを使用して、これらすべてをLDAPサーバーにフィードします。

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

あなたは両方に接続することができるはず、というのafer cn=configおよびdc=your,dc=base,dc=comLDAP経由。


7
おかげで、これは初心者にとって悪夢のようなものです。そこconfigがあるが、slap.dの最初の行で/ * - DO NOT EDIT、すべてのHOWTOは/入門ながら/ガイドは、「お気に入りのエディタで開いて設定」について語る
fghj

9

OpenLDAPサーバーを起動する前に、いくつかのことを最初にセットアップする必要があります。

基本設定

rootユーザーとパスワードを設定し、ベース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はその接尾辞の下にいなければなりません。

また、rootパスワードを定義する行を変更する必要があります。プレーンテキスト値に設定するか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.confvs についてslapd.d

OpenLDAPは、オフライン設定(で行われますslapd.conf)からオンライン設定に切り替わり、にある特別なcn=configツリーにデータを保存しますslapd.d。ただし、ldifファイルの変更はslapd.d苦痛を伴うプロセスであるためslapd.conf、上記のように編集し、それを新しいslapd.d形式に変換する方がはるかに簡単です。

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

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

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

最初の実行

実際にディレクトリを使用する前に、ベースDN(およびrootユーザー)を作成する必要があります。.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を参照してください。もっと知る。


このほとんどはパッケージマネージャーによって既に実行されてslapd.confおりslaptest、サーバーが停止している間も構成を管理し続け、オンライン構成の目的に反します。
スヴェン

2
初期設定slapd.confでは問題なく機能し、slapd.d直接編集するよりも確かに直感的です。Oracle Linuxのパッケージマネージャーによってディレクトリの量がどのくらいなのかわかりませんが、OPがベースDNにアクセスできなかった場合、それだけでは不十分でした
Xenopathic 14

1
受け入れ答えは、私は必要な情報を持っていますが、最初のオブジェクトの作成に関する情報があまりにも有用であった
thecoop
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.