在 CentOS 和 Windows Server 2008 之间设置 LDAP 连接

Shi*_*i98 4 windows ldap windows-server-2008-r2 centos6.2

我正在使用 vSphere 运行虚拟设置,有两台虚拟机,一台运行 CentOS 6,另一台运行 Windows Server 2008

这个想法是使用 LDAP 从 CentOS(作为客户端)连接到 Windows Server 2008(作为服务器),并尝试从那里访问 Active Directory。

这两个虚拟机之间有一个虚拟交换机,并且两者都在同一子网上运行。

在 CentOS 上,我尝试运行 LDAP 以连接到 Win 2008 服务器:

ldapsearch -x
Run Code Online (Sandbox Code Playgroud)

我收到的错误消息是:

文本:000004DC:LdapErr:DSID-0C0906DC,注释:为了执行此操作,必须在连接上完成成功的绑定。,数据 0

同时,我打开Windows服务器上的事件查看器,得到的错误消息是:

目录服务器无法在 Active Directory 轻型目录服务中创建 AD LDS ServiceConnectionPoint 对象。将重试此操作。

现在我不太确定问题是什么,我是否应该在 CentOS .conf 文件中指定管理员登录名?如果有,是哪一个?

或者这是 Windows 服务器权限问题?

非常感谢任何帮助!

lar*_*sks 7

错误消息非常简单:

text: 000004DC: LdapErr: DSID-0C0906DC, comment: In order to perform this 
operation a successful bind must be completed on the connection., data 0
Run Code Online (Sandbox Code Playgroud)

这意味着您需要先进行身份验证,然后才能查询目录。典型的命令行如下所示:

ldapsearch -x -H ldaps://dc.example.com/ -D lars@example.com -W cn=lars
Run Code Online (Sandbox Code Playgroud)

此连接使用简单身份验证 ( -x) 来dc.example.com使用 LDAP over SSL ( ldaps://)。我正在进行身份验证lars@example.com,命令将提示我输入密码 ( -W)。我正在寻找匹配的记录cn=lars

您还可以使用 Kerberos 针对 AD 进行身份验证。假设一切设置正确,看起来像:

$ kinit lars@example.com
Password for lars@EXAMPLE>COM: 
$ ldapsearch -H ldap://dc.example.com cn=lars
Run Code Online (Sandbox Code Playgroud)

无论哪种情况,您通常都希望专门创建帐户来充当绑定凭据,而不是使用管理帐户或用户帐户。

可以Active Directory 配置为允许匿名绑定。还可以设置其他东西(例如OpenLDAP)作为 AD 的匿名绑定代理。