Во-первых, обратите внимание, что у меня есть опыт работы с Linux, но по какой-то причине проверка подлинности прокси OpenLDAP меня очень смущает, и поэтому я надеюсь, что кто-то сможет просто ответить на мои вопросы, чтобы помочь мне лучше понять это. Я следовал этому руководству, чтобы настроить прокси для аутентификации Active Directory (https://wiki.samba.org/index.php/OpenLDAP_as_proxy_to_AD).
Некоторые примечания:
IP-адрес сервера OpenLDAP - 10.41.22.103.
IP-адрес сервера Windows AD - 10.41.22.100.
Учетная запись администратора OpenLDAP: cn = admin, dc = example, dc = com
Следуя руководству, вот файлы, которые я изменил.
Мой файл slapd.conf (/etc/ldap/slapd.conf):
### Schema includes ####
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/misc.schema
include /etc/ldap/schema/nis.schema
## Module paths ##############################################################
modulepath /usr/lib/ldap
moduleload back_ldap
moduleload rwm
# Main settings ###############################################################
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
### Database definition (Proxy to AD) #########################################
database ldap
readonly yes
protocol-version 3
rebind-as-user yes
uri "ldap://10.41.22.100:389"
suffix "dc=OneGeo,dc=local"
overlay rwm
rwm-map attribute uid sAMAccountName
#rwm-map attribute mail proxyAddresses
### Logging ###################################################################
logfile /var/log/slapd/slapd.log
loglevel 0
В моем Server 2012 AD я создал пользователя по запросу, и это его DN:
CN=nslcd connect,CN=Users,DC=OneGeo,DC=local
Вот что я вложил в core.schema (/etc/ldap/schema/core.schema):
####sAMAccountName AttributeType####
attributetype ( 1.2.840.113556.1.4.221
NAME 'sAMAccountName'
SYNTAX '1.3.6.1.4.1.1466.115.121.1.15'
SINGLE-VALUE )
Вот что я поместил в файл nslcd.conf (/etc/nslcd.conf):
# Mappings for Active Directory
pagesize 1000
referrals off
# Passwd
filter passwd (&(objectClass=posixAccount)(!(objectClass=computer))(uidNumber=*))
map passwd homeDirectory UnixHomeDirectory
map passwd gecos displayName
map passwd gidNumber primaryGroupID
# Shadow
filter shadow (&(objectClass=posixAccount)(!(objectClass=computer))(uidNumber=*))
map shadow shadowLastChange pwdLastSet
##new
filter passwd (uid=*)
# Groups
#filter group (&(objectClass=posixGroup)(gidNumber=*))
filter group (&(objectClass=group)(gidNumber=*))
#map group gid member
# Local account for nsclcd
uid nslcd
##gid ldap
gid nslcd
# Where is the LDAP
uri ldap://10.41.22.100:389
base dc=OneGeo,dc=local
# Connect-Account
binddn CN=nslcd\connect,CN=Users,DC=OneGeo,DC=local
bindpw n3m3s1s
ssl no
В последнем шаге этого руководства упоминается файл pam_ldap.conf, но я не могу найти его на сервере OpenLDAP. Вот несколько вопросов, которые у меня есть (возможно, появятся и другие):
Спасибо!