active-directory – OpenLDAP:将AD-Schema从* .ldif转换为* .schema

我正在使用模块back_ldap作为MS-AD-Servers的LDAP代理运行OpenLDAP 2.4.44(有关详细信息,请参阅: openLDAP as proxy to Active Directory).

现在我需要将架构从AD-Server添加到OpenLDAP-Server,并且已将架构从带有ldapsearch的MS-AD-Server导出到ldif文件中(有关详细信息,请参阅:How can I fetch schema information from the server?).

现在我需要将ldif格式转换为OpenLDAP slapd.conf的模式格式.无法使用ldapadd加载ldif,因为OpenLDAP在代理模式下运行,因此每个请求都将转发到MS-AD-Servers.

如何将ldif文件转换为模式文件?有什么工具吗?或者如何添加要通过slapd.conf加载的ldif文件.

你需要做的是删除属性dn,cn和objectClass,并分别用attributetype和objectclass替换olcAttributeTypes:和olcObjectClasses:的所有出现.

你也可以通过shell来做到这一点.

Linux shell上的单线程:

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

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...