Справочная информация:
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, .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.