Как создать псевдонимы LDAP в Openldap и Phpldapadmin?
Я пытаюсь сделать этот пример с полем электронной почты:
https://coderwall.com/p/c0w6-q/create-ldap-aliases-in-openldap
Это .ldif
это должно создать оба:
# this is the user
dn: uid=aka,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
objectclass: top
objectClass: extensibleObject
objectclass: posixAccount
objectclass: inetOrgPerson
cn: Alexander Fake
employeetype: developer
gecos: Alexander Fake
gidnumber: 14564103
homedirectory: /home/aka
loginshell: /bin/bash
mail: alexander.fake@domain.com
sn: Fake
uid: aka
uidnumber: 14583105
userpassword: {SSHA}SgmdndrPR5UVLOAmDs5JOJvqr3WmPYob
# this is the alias
dn: mail=alexander.Fake@domain.com,dc=mailAccount,dc=domain.com,dc=mail,dc=domain,dc=com
changetype: add
objectClass: alias
objectClass: top
objectClass: extensibleObject
objectclass: inetOrgPerson
uid: aka
aliasedObjectName: uid=aka,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
Я могу только импортировать / экспортировать ldif, я использую phpldapadmin для администрирования.
Когда псевдонимы создаются, он выдает следующую ошибку:
This update has been or will be cancelled, it would result in an attribute value not being unique. You might like to search the LDAP server for the offending entry.
Кто-нибудь знает, как создавать псевдонимы на openldap и phpldapadmin?
1 ответ
Решение
Это в основном правильно. Просто:
- Удалить
uid=aka
атрибут изaliasedObject
, Это не нужно. Это относится к другому объекту, который имеет это значение UID. - Также удалите
inetOrgPerson
из псевдонима. Это не человек, это псевдоним для человека. objectClass
атрибут должен содержать толькоtop
а такжеalias
; а такжеextensibleObject
так что вы можете предоставитьcn
или любой другой атрибут, который вам нравится как часть DN, если вы хотите сделать это: судя по моему DIT, в этом нет необходимости.
Плохое качество исходного материала. Не полагайтесь на произвольный мусор в Интернете. Используйте официальную документацию.