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

OpenLDAP как прокси для Active Directory не привязывается к bindDN из slapd.conf

Справочная информация:

CentOS 7 3.10.0-327.18.2.el7.x86_64

Этот сервер будет использоваться как прокси для Active Directory.

В настоящее время кажется, что ldapsearch не заботится о /etc/openldap/slapd.conf и не будет связываться, если я не передам bindDN и пароль напрямую с помощью -D и -w.

Я сделал новую установку OpenLDAP-серверов

Отредактировал slapd.conf следующим образом:

### Schema includes ###########################################################
include                 /etc/openldap/schema/core.schema
include                 /etc/openldap/schema/cosine.schema
include                 /etc/openldap/schema/inetorgperson.schema
include                 /etc/openldap/schema/misc.schema
include                 /etc/openldap/schema/nis.schema

## Module paths ##############################################################
modulepath              /usr/lib64/openldap/
moduleload              back_ldap
moduleload              rwm

## Support both LDAPv2 and LDAPv3
allow           bind_v2

# Main settings ###############################################################
pidfile                 /var/run/openldap/slapd.pid
argsfile                /var/run/openldap/slapd.args

### Database definition (Proxy to AD) #########################################
database                ldap
readonly                yes
protocol-version        3
rebind-as-user          yes
uri                     "ldap://10.0.0.90:389"
suffix                  "DC=secretdomain,DC=com"
idassert-bind           bindmethod=simple
                        binddn="CN=MropenLDAP,OU=Administration,DC=secretdomain,DC=com"
                        credentials=topsecretpass
                        mode=none
idassert-authzFrom      "*"
overlay                 rwm
rwm-map                 attribute       uid     sAMAccountName
rwm-map                 attribute       mail    proxyAddresses

### Logging ###################################################################
logfile                 /var/log/slapd/slapd.log
loglevel                1

Ран: slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/

Убедившись, что права собственности и права указаны правильно, перезапустили slapd.

Следующее не работает:

ldapsearch -H ldap://10.0.0.90 -x -b "OU=Administration,DC=secretdomain,DC=com" -v -LLL "(samaccountname=someusername)"

ldapsearch -H ldap://10.0.0.90 -x -b "OU=Administration,DC=secretdomain,DC=com" -v -LLL

Это дает мне эту ошибку:

ldap_initialize( ldap://10.0.0.90:389/??base )
filter: (objectclass=*)
requesting: All userApplication attributes
Operations error (1)
Additional information: 000004DC: LdapErr: DSID-0C0906E8, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, v1db1

Однако, когда я передаю DN привязанной учетной записи напрямую, он работает. Я проверил, что обе эти части информации идентичны из файла /etc/openldap/slapd.conf:

ldapsearch -H ldap://10.0.0.90 -x -b "OU=Administration,DC=secretdomain,DC=com" -v -LLL -D "CN=MropenLDAP,OU=Administration,DC=secretdomain,DC=com" "(samaccountname=someusername)" -w topsecretpass

ldapsearch не использует slapd.conf оно использует ldap.conf (или в ряде других мест, как указано ниже). Binddn не может быть полезно установить в глобальном файле ldap.conf, поскольку он считается параметром только для пользователя и поэтому игнорируется, если он там находится.


LDAP.CONF (5)

НАЗВАНИЕ
ldap.conf, .ldaprc - файл конфигурации LDAP / переменные среды

ОБЗОР
/etc/openldap/ldap.conf, ldaprc, .ldaprc, $ LDAP

ОПИСАНИЕ
Если переменная среды LDAPNOINIT определена, все значения по умолчанию отключены.

Файл конфигурации ldap.conf используется для установки общесистемных значений по умолчанию, которые будут применяться при запуске клиентов ldap.

Пользователи могут создать дополнительный файл конфигурации, ldaprc или .ldaprc, в своем домашнем каталоге, который будет использоваться для переопределения общесистемного файла значений по умолчанию. Также используется файл ldaprc в текущем рабочем каталоге.

Дополнительные файлы конфигурации можно указать с помощью переменных среды LDAPCONF и LDAPRC. В LDAPCONF можно указать путь к файлу конфигурации. Этот путь может быть абсолютным или относительным к текущему рабочему каталогу. LDAPRC, если он определен, должен быть базовым именем файла в текущем рабочем каталоге или в домашнем каталоге пользователя.

Переменные среды также могут использоваться для расширения файловых значений по умолчанию. Имя переменной - это имя параметра с добавленным префиксом LDAP. Например, чтобы определить BASE через среду, установите для переменной LDAPBASE желаемое значение.

Некоторые параметры доступны только пользователю. Такие параметры игнорируются, если они присутствуют в ldap.conf (или в файле, указанном LDAPCONF).

Таким образом, следующие файлы и переменные считываются по порядку:
переменная $ LDAPNOINIT, и если она не установлена:
системный файл /etc/openldap/ldap.conf,
пользовательские файлы $ HOME / ldaprc, $ HOME / .ldaprc, ./ldaprc,
системный файл $ LDAPCONF,
пользовательские файлы $ HOME / $ LDAPRC, $ HOME /. $ LDAPRC, ./$LDAPRC,
переменные $ LDAP.
Настройки, находящиеся в конце списка, имеют приоритет над более ранними.

BINDDN <dn>
Задает DN привязки по умолчанию для использования при выполнении операций ldap. DN привязки должен быть указан как отличительное имя в формате LDAP. This is a user-only option.