Первые вещи сначала, я в настоящее время работаю с OpenLDAP: slapd 2.4.36 на выпуске 19 Fedora (CAT Schrödinger).
Я имею, просто устанавливают openldap с конфеткой, и моя конфигурация является следующей:
##### OpenLDAP Default configuration #####
#
##### OpenLDAP CORE CONFIGURATION #####
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
pidfile /var/lib/ldap/slapd.pid
loglevel trace
##### Default Schema #####
database mdb
directory /var/lib/ldap/
maxsize 1073741824
suffix "dc=domain,dc=tld"
rootdn "cn=root,dc=domain,dc=tld"
rootpw {SSHA}SECRETP@SSWORD
##### Default ACL #####
access to attrs=userpassword
by self write
by group.exact="cn=administrators,ou=builtin,ou=groups,dc=domain,dc=tld" write
by anonymous auth
by * none
Я запускаю свое использование услуг OpenLDAP:
/usr/sbin/slapd -u ldap -h ldapi:/// ldap:/// -f /etc/openldap/slapd.conf
Поскольку Вы видите, что это - довольно простой ACL, которые имеют целью предоставлять доступ к userPassword, приписывают определенной группе, только для чтения, затем чтению владельца, и пишут в анонимного автора требования и отказывают в доступе всем остальным.
Проблема: Даже с помощью действительного пользователя с правильным паролем мой ldapsearch заканчивается нулевой информацией, полученной из каталога, плюс у меня есть странный ответ на строке результата.
# search result
search: 2
result: 32 No such object
# numResponses: 1
вот запрос ldapsearch:
ldapsearch -H ldap.domain.tld -W -b dc=domain,dc=tld -s sub -D cn=user,ou=service,ou=employees,ou=users,dc=domain,dc=tld
Я не указывал фильтра, поскольку я хочу проверить, что ldapsearch правильно печатает только позволенный атрибут.
@SvW здесь - то, что я поставил свой slapd.conf согласно Вашему exemple и Документации OpenLDAP:
Я отредактировал свой slapd.conf со следующими правилами ACLs, устраняющими group.exact для более легкой отладки:
access to *
by self read
by anonymous auth
by * none
access to attrs=userpassword
by self write
by anonymous auth
by * none
но еще раз, я сталкиваюсь
32 Никаких Таких объектных ошибки
когда я пробую следующий ldapsearches:
ldapsearch -W -s sub -D cn=user,ou=service,ou=employees,ou=users,dc=domain,dc=tld -b dc=domain,dc=tld userpassword=*
или без фильтра:
ldapsearch -W -s sub -D cn=user,ou=service,ou=employees,ou=users,dc=domain,dc=tld -b dc=domain,dc=tld
Попробуйте с
access to attrs=userPassword
вместо вашего предыдущего
access to attrs=userpassword
Firefox, как известно, строго проверяет всю цепочку сертификатов, и, скорее всего, вы неправильно указали все сертификаты в цепочке. Недавно у меня была похожая проблема с Firefox и SSL сертификатом Comodo на Lighttpd, и проблема заключалась в том, что я не перечислил цепочку в ssl.ca-файле корректно.
Согласно RFC 2246, сертификат отправителя должен прийти первым, и каждый последующий сертификат должен непосредственно сертифицировать предыдущий. В итоге я получил четыре сертификата в цепочке вплоть до корня CA.
certificate_list. Это последовательность (цепочка) сертификатов X.509v3. Сертификаты отправителя сертификат должен быть первым в списке. Каждый следующий сертификат должен непосредственно свидетельствовать о том, что он предшествует ему. Потому что проверка сертификата требует распространения корневых ключей самостоятельно, самоподписанный сертификат, в котором указана корневой центр сертификации по желанию может быть исключен из цепь, при условии, что удаленный конец уже должен быть Для проверки попробуйте добавить
access to * by * read
после первой записи ACL.
Это всё равно должно ограничить пользовательское пароль
, но явно позволит вам прочитать все остальные поля (я считаю, что OpenLDAP добавляет неявно
в * на * ни одного
, в противном случае, смотрите раздел 8.3.4 документации -).Редактирование:
Ограничивает ли оно поле пароля? Это не совсем понятно из Вашего комментария. Если нет, запомните ответ @Janne и проверьте правильность написания
userPassword
. Если он работает, то вам придется начать с него добавлять ограничения. Следующее не протестировано, но должно сработать (это может быть слишком ограничительным).access to * by self read by group.exact="cn=administrators,ou=builtin,ou=groups,dc=domain,dc=tld" write by * none