以前にopenldapを使用したことがないため、テスト用のopenldapサーバーをセットアップしようとしています。 Redhatベースのマシン(Oracle Linuxを使用)で標準のopenldap-serversパッケージを使用しています。パッケージをインストールし、サーバーを起動しました。
私は今、実際にサーバーに何か有用なことをさせる方法を知りません。 luma(トップレベルのエントリにアクセスしようとすると「そのようなオブジェクトはありません」)を使用して参照することはできません。openldapのドキュメントは、サーバーを実際に基本的な作業状態にして、すべての情報をオンラインにする方法についてはわかりにくいです新しいslapd.dとcn = configではなく、古いslapd.confファイル用です。
LumaでルートDNを参照できるVanillaパッケージのopenldapインストールを機能させるにはどうすればよいですか?
あなたの痛みが分かります。
これを試してください(Scientific Linux 6.5でテストされているため、OLでも機能するはずです):
yum install openldap-servers openldap-clients
)slapd
:service slapd start
(おそらくchkconfig slapd on
)cn=config
およびslappasswd
を使用して通常のLDAP管理ユーザーのパスワードを作成します。この出力に注意してください。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=config
とdc=your,dc=base,dc=com
の両方に接続できるはずです。
OpenLDAPサーバーを起動する前に、まずいくつかの設定を行う必要があります。
ベースDNを定義するとともに、rootユーザーとパスワードを設定する必要があります。 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.conf
とslapd.d
について
OpenLDAPはオフライン構成(slapd.conf
で実行)からオンライン構成に切り替わり、cn=config
にある特別なslapd.d
ツリーにデータを保存します。ただし、slapd.d
のldif
ファイルを変更するのは骨の折れるプロセスなので、上記のように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 詳細を知りたい場合。