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

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

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

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

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

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

ldapsearch -x

我收到的错误信息是:

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

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

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

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

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

非常感谢您的帮助!

答案1

错误信息非常简单:

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

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

ldapsearch -x -H ldaps://dc.example.com/ -D [email protected] -W cn=lars

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

您还可以使用 Kerberos 对 AD 进行身份验证。假设所有设置均正确,如下所示:

$ kinit [email protected]
Password for lars@EXAMPLE>COM: 
$ ldapsearch -H ldap://dc.example.com cn=lars

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

这是可能的配置 Active Directory 以允许匿名绑定。也可以设置其他内容 - 例如,OpenLDAP——作为 AD 的匿名绑定代理。

相关内容