Назад | Перейти на главную страницу

В чем разница между RDN, DN и CN в LDAP?

Я читаю два (ссылка1, ссылка2) статей о LDAP, и в них упоминается относительное отличительное имя (RDN), отличительное имя (DN) и CN, которые должны быть тем же самым, что и RDN.

Я понимаю, что RDN является ключом в паре «ключ-значение» для узла в ориентированном графе LDAP, но автор ничего не говорит о том, что означают эти термины ...

Я могу рекомендовать LDAP для ракетостроителей, очень хорошее и подробное введение в протокол

Чтобы ответить на ваш вопрос:

  • отличительное имя: полный путь к объекту в дереве. Итак, если сервер ldap имеет базу dc=domain,dc=tld и объект находится в контейнере ou=users, тогда dn может быть cn=object,ou=users,dc=domain,dc=tld

  • rdn находится в примере cn=object, потому что это относительно ou=users,dc=domain,dc=tld.

Если объект был в ou=otherusers,dc=domain,dc=tld, тогда rdn все равно будет cn=object, но тогда у него будет другой dn: cn=object,ou=otherusers,dc=domain,dc=tld.

Итак, rdn относительно своего родителя.

А каноническое имя cn - это просто атрибут. Иногда cn и rdn имеют одинаковое значение. В других случаях rdn - это uid = user (вместо cn = user), как и большинство серверов ldap unix. Так что тогда dn будет uid=user,ou=users,dc=domain,dc=tld. И этот объект может иметь атрибут cn, чтобы сделать его еще более нечетким.

Различия должны касаться того, на какой объект ссылается, потому что каждый тип объекта имеет свой набор объектных классов, которые определяют, какие атрибуты он может (или не может) иметь.

Кстати, книгу можно читать бесплатно.