首先,请注意,我有使用 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 服务器上找到它。以下是我的一些问题(可能还会有更多问题):
- pam_ldap.conf 文件在哪里?它应该在 OpenLDAP 服务器上还是在客户端上?
- 一旦所有这些都正确设置好了,我该如何全面测试它以确保身份验证发生在 AD 级别?我对这部分真的很困惑!
谢谢你!
- 基督教