OpenLDAP 作为代理

OpenLDAP 作为代理

首先,请注意,我有使用 Linux 的经验,但出于某种原因,OpenLDAP 代理身份验证让我非常困惑,所以我希望有人能简单地回答我的问题,帮助我更好地理解它。我按照本教程设置了 Active Directory 身份验证的代理(https://wiki.samba.org/index.php/OpenLDAP_as_proxy_to_AD)。

一些说明:

  • OpenLDAP 服务器的 IP 是 10.41.22.103

  • Windows AD 服务器 IP 为 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 服务器上找到它。以下是我的一些问题(可能还会有更多问题):

  1. pam_ldap.conf 文件在哪里?它应该在 OpenLDAP 服务器上还是在客户端上?
  2. 一旦所有这些都正确设置好了,我该如何全面测试它以确保身份验证发生在 AD 级别?我对这部分真的很困惑!

谢谢你!

  • 基督教

相关内容