1

我正在尝试从 Linux 机器(CentOS 5.8)向 Windows LDAP 服务器运行 LDAP 查询,并希望获取用户的“memberof”详细信息。在此示例中,域为 cm.loc,用户为 admin1@cm.loc。这是我正在使用的 ldapsearch 语法。它返回一个错误。有人可以用正确的语法为我指出正确的方向吗?应该使用 ldapsearch 查询特定帐户的 memberof 详细信息?

这是我正在使用的返回错误的内容;“ldap search ext bad search filter 7”我的语法哪里错了?

ldapsearch –x –h 192.168.1.20 –b 'DC=cm,DC=loc' -s base –D 'admin1@cm.loc' -W '(&(objectCategory=Group)(|(memberOf=group1)(memberOf=group2)…))' 

谢谢你

4

2 回答 2

1

memberOf是具有DN语法的属性。group1不是 DN。

于 2013-09-15T16:45:26.567 回答
0

语法看起来不错,您需要对memberOf查询使用完整的 DN 语法,但它仍然是memberOf=,不是memberOf:- 如果您使用冒号语法,那么您将收到错误的搜索过滤器错误。

接下来是必须根据 RFC4515 的规范对搜索字符串进行转义。这通常意味着搜索字符串中的以下字符:\*()必须分别使用\5c\2a、进行转义\28\29否则您会得到相同的错误 - 错误的搜索词。这是在ldap 服务器可能已经应用于 DN 的转义之上。

于 2013-09-15T19:00:42.960 回答