OpenLDAP:如何在架构中添加日期属性

问题描述 投票:0回答:1

在网上找不到解决方案。我尝试过这个,但它不起作用。如果有任何帮助,我将不胜感激(LDAP 确实令人头疼)。

root@9ae33b5bc07e:/# ldapadd -Y EXTERNAL -H ldapi:/// -f add_attribute.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
ldapadd: invalid format (line 4) entry: "cn=schema,cn=config"

root@9ae33b5bc07e:/# cat add_attribute.ldif
dn: cn=schema,cn=config
add: olcAttributeTypes
olcAttributeTypes: ( 1.3.6.1.4.1.5427.1.389.4.2
  NAME 'dateOfBirth'
  DESC 'Date of birth (format YYYYMMDD, only numeric chars)'
  EQUALITY numericStringMatch
  SUBSTR numericStringSubstringsMatch
  SINGLE-VALUE
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{8}
)
date attributes ldap schema openldap
1个回答
0
投票

您的 LDIF 文档有两个主要问题:

  1. ldapadd
    仅创建整个条目,并且不理解“add:”或“replace:”伪属性。您需要
    ldapmodify
    来更改现有条目(添加/替换/删除其属性)。

    (尽管如果 LDIF 具有“changetype:add”或“changetype:modify”,则会覆盖所有内容;除了隐含的默认“changetype”之外,CLI 命令实际上是相同的。)

  2. 括号对 LDIF 语法没有任何意义;它们只是字符串值的一部分。当您包装长值时,缩进很重要 - 所有连续行,包括右括号(如果有),必须缩进至少一个空格(该空格会被忽略,不会成为值,但不会忽略任何附加空格)。

    它与 HTTP 标头或电子邮件标头中的续行非常相似。

© www.soinside.com 2019 - 2024. All rights reserved.