Я настраиваю второй сервер LDAP. Я преобразовал slapd.conf
в базу данных slapd.d
, используя slaptest
. Я пытаюсь применить этот LDIF:
# cat loglevel.ldif
dn: cn=config
changetype:modify
replace: olcLogLevel
olcLogLevel: any
Эта ошибка появляется:
# ldapmodify -H ldapi:/// -Y EXTERNAL -D 'cn=config' -f loglevel.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=config"
ldap_modify: Insufficient access (50)
ldapwhoami
вывод:
# ldapwhoami -Y EXTERNAL -H ldapi:///
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
dn:gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
База данных конфигурации в slapcat -n0
:
dn: olcDatabase={0}config,cn=config
objectClass: olcDatabaseConfig
olcDatabase: {0}config
olcAccess: {0}to * by * none
olcAddContentAcl: TRUE
olcLastMod: TRUE
olcMaxDerefDepth: 15
olcReadOnly: FALSE
olcRootDN: cn=admin,cn=config
olcRootPW:: c2VjcmV0
olcSyncUseSubentry: FALSE
olcMonitoring: FALSE
structuralObjectClass: olcDatabaseConfig
entryUUID: a00805da-2405-1035-8da5-7568f1e7aea1
creatorsName: cn=config
createTimestamp: 20151120190701Z
entryCSN: 20151120190701.894877Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20151120190701Z
Как мне сделать команда работает?
Нужно ли мне что-то делать, чтобы включить механизм -Y EXTERNAL
?
Нужно ли мне изменять свойство olcRootDN
для cn = config
? Я могу попробовать изменить его с помощью текстового редактора в файле /etc/openldap/slapd.d/cn=config/olcDatabase= {0} config.ldif
.
Ваш текущий rootdn - cn = admin, cn = config
, а ваш текущий rootpw - "секретный".
SASL / EXTERNAL включен и работает. Однако конфигурация вашей базы данных cn = config
не дает root
(он же gidNumber = 0 + uidNumber = 0, cn = peercred, cn = external, cn = auth
любые специальные разрешения.
Чтобы преобразовать ваш rootdn в локальный root, вы должны запустить следующее или его эквивалент.
ldapmodify -D cn=admin,cn=config -w secret -H ldapi:/// <<EOF
dn: olcDatabase={0}config,cn=config
replace: olcrootdn
olcrootdn: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
-
delete: olcrootpw
-
EOF