MS-AD-ServersのLDAPプロキシとしてモジュールback_ldapを使用してOpenLDAP 2.4.44を実行しています(詳細は ActiveLDAPのプロキシとしてのopenLDAP を参照)。
今度はAD-ServerからOpenLDAP-Serverにスキーマを追加する必要があり、スキーマをldapsearchを使用してMS-AD-Serverからldif-fileにエクスポートしました(詳細は以下を参照してください。 スキーマをフェッチする方法サーバーからの情報? )。
次に、ldif形式をOpenLDAP slapd.confのスキーマ形式に変換する必要があります。 OpenLDAPはプロキシモードで実行されているため、ldapaddを使用してldifをロードすることはできません。そのため、すべてのリクエストはMS-AD-Serversに転送されます。
Ldifファイルをスキーマファイルに変換するにはどうすればよいですか?ツールはありますか?または、slapd.confを介して読み込まれるldifファイルを追加する方法。
属性dn
、cn
、objectClass
を削除し、olcAttributeTypes:
とolcObjectClasses:
をすべてattributetype
とobjectclass
にそれぞれ置き換える必要があります。
シェルを介して行うこともできます。
Linuxシェルのワンライナー:
sed '/^dn: /d;/^objectClass: /d;/^cn: /d;s/olcAttributeTypes:/attributetype/g;s/olcObjectClasses:/objectclass/g' file.ldif > file.schema
Windows PowerShellの対応するコマンド:
Get-Content file.ldif | Where { $_ -notmatch "^dn: " } | Where { $_ -notmatch "^objectClass: " } | Where { $_ -notmatch "^cn: " } | %{ $_ -replace "olcObjectClasses:", "objectclass" } | %{ $_ -replace "olcAttributeTypes:", "attributetype" } | Out-File file.schema