web-dev-qa-db-ja.com

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

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

私は今、実際にサーバーに何か有用なことをさせる方法を知りません。 luma(トップレベルのエントリにアクセスしようとすると「そのようなオブジェクトはありません」)を使用して参照することはできません。openldapのドキュメントは、サーバーを実際に基本的な作業状態にして、すべての情報をオンラインにする方法についてはわかりにくいです新しいslapd.dとcn = configではなく、古いslapd.confファイル用です。

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

14
thecoop

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

これを試してください(Scientific Linux 6.5でテストされているため、OLでも機能するはずです):

  • OpenLDAPサーバーをインストールします:yum install openldap-servers openldap-clients
  • 開始slapdservice slapd start(おそらくchkconfig slapd on
  • cn=configおよびslappasswdを使用して通常のLDAP管理ユーザーのパスワードを作成します。この出力に注意してください。
  • 次の内容のLDIFファイルを作成します。
 dn:olcDatabase = {0} config、cn = config 
 changetype:modify 
 add:olcRootPW 
 olcRootPW:{SSHA} TXcmvaldskl312012cKsPK1cY2321 + aj 
 
 dn:olcDatabase = {2} bdb、cn = config 
 changetype:modify 
 add:olcRootPW 
 olcRootPW:{SSHA} TXcmvaldskl312012cKsPK1cY2321 + aj 
-
 replace:olcRootDN 
 olcRootDN:cn = admin、dc = your、dc = base、dc = com 
-
 replace:olcSuffix 
 olcSuffix:dc = your、dc = base、dc = com 
  • olcRootPWの値は、以前にメモしたslappaswdの出力に置き換える必要があります。
  • 当然、olcSuffixおよびolcRootDNは新しいベースDNに適合させる必要があります。
  • 次のコマンドを使用して、これらすべてをLDAPサーバーにフィードします。

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

その後、LDAP経由でcn=configdc=your,dc=base,dc=comの両方に接続できるはずです。

20
Sven

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

基本構成

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

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

通常、ベースDN(ファイルではsuffixとして定義)はドメイン名のコンポーネントであり、コンマで区切られ、dc=が前に付けられます。したがって、serverfault.comdc=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.confslapd.dについて

OpenLDAPはオフライン構成(slapd.confで実行)からオンライン構成に切り替わり、cn=configにある特別なslapd.dツリーにデータを保存します。ただし、slapd.dldifファイルを変更するのは骨の折れるプロセスなので、上記のように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 詳細を知りたい場合。

9
Xenopathic