2016-08-23 76 views
1

我想创建一个OpenLDAP的自定义AttributeType没有成功... 我有一个非常基本的/默认的LDAP配置使用cn = config方法。LDAP add olcAttributeTypes

我的目标是为我的通用用户帐户创建自定义属性类型“memberOfGroups”。语法至少应验证这种正则表达式:[a-zA-Z0-9]+(,[a-zA-Z0-9]+)*换句话说one,or,several,words,separated,by,comma。因此,首先,我认为我应该创建一个新的olcAttributeTypes,然后修改inetorgperson并添加此Attribute类型。我对吗?

这是我的ldif文件:

# cat -A ~/add_attribute.ldif 
version: 1$ 
$ 
dn: cn={4}custom,cn=schema,cn=config$ 
changetype: modify$ 
add: olcAttributeTypes$ 
olcAttributeTypes: (1.3.6.1.4.1.1234.1$ 
    NAME 'memberOfGroups'$ 
    DESC 'Appartenance a un groupe.'$ 
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.44)$ 

而且我使用下面的ldapmodify命令:

# ldapmodify -xf ~/add_attribute.ldif -D 'cn=admin,dc=ldap,dc=jlo,dc=lab' -W 

结果是:

modifying entry "cn={4}custom,cn=schema,cn=config" 
ldap_modify: No such object (32) 
    matched DN: cn=schema,cn=config 

所以,我想:

  • 与ldapadd命令,具有相同的结果。
  • 将“changetype”更改为“add”,不起作用。

然后我问自己,如果我使用正确的DN。事实上,cn = {4}自定义文件在/etc/ldap/slapd.d/cn=config/cn=schema目录中尚不存在。 我应该在以前创建它还是将它自动创建?

我对LDAP配置有点困惑...... 在此先感谢您的帮助。

+0

为什么?您似乎真的在寻找OpenLDAP'memberof'覆盖图,它会自动为您保留这些信息。 – EJP

+0

我试图将ldap服务器链接到一个特定的应用程序,该应用程序获取所有属性,但由于一个不明确的原因,没有得到overlay'memberof'。 现在,我想更深入地了解ldap文件的ldap配置。 – Jeelo

+0

我不知道'为了一个不明确的原因不要得到覆盖成员'的意思,但它肯定是你的问题的答案。 – EJP

回答

1

我进步了(一点)。我为我的自定义属性创建了一个新文件。这是我的ldif:

dn: cn={4}custom,cn=schema,cn=config 
changetype: add 
objectClass: olcSchemaConfig 
cn: custom 

dn: cn={4}custom,cn=schema,cn=config 
changetype: modify 
add: olcAttributeTypes 
olcAttributeTypes: (1.3.6.1.4.1.1234.1 
    NAME 'memberOfGroups' 
    DESC 'Appartenance a un groupe.' 
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.44) 

但是在phpldapadmin> schema>属性类型中看不到memberOfGroups属性。如果这是一个phpldapadmin问题,我现在不会。

然后,我想我应该把这个属性关联到inetOrgPerson对象类。