OpenLDAP sAMAccountName作为自定义属性

时间:2017-08-17 01:05:09

标签: ldap openldap

我正在尝试添加自定义属性对象类,因为我的某个应用程序仅适用于sAMAccountName。

我发现,它需要以下架构才能将其添加到LDAP。

olcAttributeTypes: ( 1.2.840.113556.1.4.221
NAME 'sAMAccountName'
SYNTAX '1.3.6.1.4.1.1466.115.121.1.15'
SINGLE-VALUE )

我创建了一个包含此内容的ldif文件,并且sAMAccountName出现在Apache Directory Studio

dn: cn=custom-attributes,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: custom-attributes
olcAttributeTypes: ( 1.2.840.113556.1.4.221
    NAME 'sAMAccountName'
    SYNTAX '1.3.6.1.4.1.1466.115.121.1.15'
    SINGLE-VALUE )

但是,如果我尝试将此属性添加到我的用户,我收到错误#65,因为我的对象类不允许它,所以我删除了它并尝试为自定义属性添加对象类:

dn: cn=custom-attributes,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: custom-attributes
olcAttributeTypes: ( 1.2.840.113556.1.4.221
    NAME 'sAMAccountName'
    SYNTAX '1.3.6.1.4.1.1466.115.121.1.15'
    SINGLE-VALUE )
olcObjectClasses: ( 1.3.6.1.4.1.4203.666.100.1
    NAME 'customAttributes'
    SUP top
    AUXILIARY
    DESC 'Custom attributes class'
    MAY (sAMAccountName)
)

现在我收到此错误

  

ldapadd:格式无效(第6行)条目:“cn = custom-attributes,cn = schema,cn = config”

我通过终端

添加ldif文件
ldapadd -H ldaps://ldap.mydomain.com/ -f samaccountname.ldif -D "cn=admin,cn=config" -w mypassword

错误消息是指哪一行?什么语法错了?

我也听说过将sAMAccountName代理到uid,但是我没有找到一个示例ldif文件,所以这个解决方案对我来说更容易实现。

1 个答案:

答案 0 :(得分:1)

我认为这是由于最后一个括号。 LDIF文件上的新行表示新项目描述。尝试将最后一个括号放在MAY行的末尾。