OpenLDAP不能添加新的模式

我正在尝试向我的OpenLDAP服务器添加新的模式。 slapd的版本是2.4.23。 我正在使用Debian 6。

如果我理解的很好,slapd 2.4+默认使用(cn = config)使用OLCconfiguration,我不需要修改slapd.conf或cn = config树中的其他点(我是错的?)。 但是当我试图添加架构与以下命令:

ldapadd -x -D "cn=admin,cn=config" -W -f filesystem.ldif 

它给了我:

 Enter LDAP Password: ldap_bind: Invalid credentials (49) 

我也试过这个命令(即使我不知道我在这里做什么):

 ldapadd -x -D "cn=admin,dc=linuxcbt,dc=internal" -W -f filesystem.ldif 

其中dc = linuxcbt,dc =内部是我的基地,我得到:

 adding new entry "cn=filesystem,cn=schema,cn=config" ldap_add: Insufficient access (50) 

我的filesystem.ldif文件是:

 dn: cn=filesystem,cn=schema,cn=config objectClass: olcSchemaConfig cn: filesystem olcAttributeTypes: ( 1000.1.1.1 NAME ( 'fn' 'filename' ) DESC 'Nome del file' EQUALITY 'Case exact match' SUBSTR caseExactSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) olcAttributeTypes: ( 1000.1.1.2 NAME ( 'fs' 'filesize' ) DESC 'Dimensione del file' EQUALITY integerMatch ORDERING integerOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 ) olcObjectClasses: ( 1000.1.2.1 NAME ( 'dir' DESC 'Una directory' MUST fn MAY fs AUXILIARY ) olcObjectClasses: ( 1000.1.2.2 NAME ( 'file' DESC 'Un file' MUST (fn $ fs) AUXILIARY ) 

现在我坚持这一点。

尝试

 ldapadd -Q -Y EXTERNAL -H ldapi:/// -f filesystem.ldif 

这只有在以root身份(uid = 0)或通过sudo和直接在LDAP服务器上工作时才有效。 它根据用户标识连接到LDAP服务器,并绕过正常的auth方法。

该访问权限由olcAccess规则授予

 {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage by * none 

olcDatabase={0}config,cn=config

要允许以“正常”方式访问,可以olcDatabase={0}config,cn=config添加到olcDatabase={0}config,cn=config

 olcRootDN: cn=admin,cn=config olcRootPW: <yourpassword> 

其中<yourpassword> slappasswd <yourpassword>应该通过slappasswd进行预encryption。