web-dev-qa-db-ja.com

OpenLDAP:AD-Schemaを* .ldifから* .schemaに変換

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ファイルを追加する方法。

3
notes-jj

属性dncnobjectClassを削除し、olcAttributeTypes:olcObjectClasses:をすべてattributetypeobjectclassにそれぞれ置き換える必要があります。

シェルを介して行うこともできます。

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
3
dim-0