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

Ran: slaptest -f /etc/openldap/slapd.conf -F / и т.д / 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
0
задан 30 September 2016 в 07:05
1 ответ

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


LDAP.CONF(5)

NAME
. ldap.conf, .ldaprc - конфигурационный файл/переменные окружения LDAP

SYNOPSIS
/etc/openldap/ldap.conf, ldaprc, .ldaprc, $LDAP

DESCRIPTION
Если переменная окружения 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 для использования при выполнении операций ldap. Связывающий DN должен быть указан как Distinguished Name в формате LDAP. Это опция только для пользователя.

0
ответ дан 5 December 2019 в 09:29

Теги

Похожие вопросы