Справочная информация:
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
ldapsearch
не использует slapd.conf
, а использует ldap.conf
(или ряд других мест, как указано ниже). Binddn
не может быть установлен в глобальном файле ldap.conf, так как он считается опцией только для пользователя и поэтому игнорируется, если он там находится.
NAME
. ldap.conf, .ldaprc - конфигурационный файл/переменные окружения LDAPSYNOPSIS
/etc/openldap/ldap.conf, ldaprc, .ldaprc, $LDAPDESCRIPTION
Если переменная окружения 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.Это опция только для пользователя.