как создать два дита в РТС openldap сервер

Я создал основную базу данных с подобным этот olcDatabase = {0} config.ldif

# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
    # CRC32 5ebe5cbf
    dn: olcDatabase={0}config
    objectClass: olcDatabaseConfig
    olcDatabase: {0}config
    olcAccess: {0}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external
     ,cn=auth manage by * break
    structuralObjectClass: olcDatabaseConfig
    entryUUID: bc33e700-aabc-1034-9ffd-0bb5002b311b
    creatorsName: cn=config
    createTimestamp: 20150619105025Z
    olcRootPW:: e1NTSEF9ekgzcEZnbVJIYkszRjR1YmZsazRadE5XR1JpZWVJN3Y=
    olcRootDN: cn=Manager,cn=config
    entryCSN: 20150622150014.466148Z#000000#000#000000
    modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
    modifyTimestamp: 20150622150014Z

olcDatabase = {1} hdb.ldif

# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
# CRC32 78ca14ea
dn: olcDatabase={1}hdb
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=igr,dc=com
olcAccess: {0}to attrs=userPassword,shadowLastChange by self write by anonymou
 s auth by dn="cn=admin,dc=igr,dc=com" write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by self write by dn="cn=admin,dc=igr,dc=com" write by *
  read
olcLastMod: TRUE
olcRootDN: cn=admin,dc=igr,dc=com
olcRootPW:: e1NTSEF9bHdWcWlMeTVUM0RhUXU1ZzZabFkrV1ZwT09xWW04Zk4=
olcDbCheckpoint: 512 30
olcDbConfig: {0}set_cachesize 0 2097152 0
olcDbConfig: {1}set_lk_max_objects 1500
olcDbConfig: {2}set_lk_max_locks 1500
olcDbConfig: {3}set_lk_max_lockers 1500
olcDbIndex: objectClass eq
structuralObjectClass: olcHdbConfig
entryUUID: bc34c3be-aabc-1034-8005-0bb5002b311b
creatorsName: cn=config
createTimestamp: 20150619105025Z
entryCSN: 20150619105025.210222Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20150619105025Z

для создания другой базы данных, я попробовал это, создал fio.ldif

dn: olcDatabase={2}hdb
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {2}hdb
olcDbDirectory: /var/ldap/lld
olcDbIndex: objectClass eq,pres
olcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub
structuralObjectClass: olcHdbConfig
creatorsName: cn=config
olcSuffix: dc=linux,dc=com
olcRootDN: cn=Man,dc=linux,dc=com

когда я добавил эту новую базу данных как seprated DIT, я получил эту ошибку.

ashokkrishna@10:36:04:~/Desktop$ ldapadd -x -D "cn=Manager,cn=config" -f fio.ldif -W
Enter LDAP Password: 
adding new entry "olcDatabase={2}hdb"
ldap_add: Server is unwilling to perform (53)
    additional info: no global superior knowledge

как решить это? когда я изменил olcDatabase = {2} hdb к "olcDatabase = {2} hdb, cn=config"

ashokkrishna@10:07:38:~/Desktop$ ldapadd -x -D "cn=Manager,cn=config" -f filp.ldif -W
Enter LDAP Password: 
adding new entry "olcDatabase={2}hdb,cn=config"
ldap_add: Constraint violation (19)
    additional info: structuralObjectClass: no user modification allowed
0
задан 26 June 2015 в 07:39
1 ответ

slapd не жалуется на ваш оликсуффикс. Он расстроен выбранным Вами dn.

Вы захотите изменить Ваш .ldif, чтобы использовать dn: olcDatabase={2}hdb,cn=config.


Кроме того, Вы не можете добавлять или изменять какие-либо операционные атрибуты. (structuralObjectClass и creatorsName - это два таких атрибута.)

.
0
ответ дан 5 December 2019 в 12:39

Теги

Похожие вопросы