我正在尝试从Linux计算机(CentOS 5.8)运行LDAP查询到Windows LDAP服务器,并希望为用户获取“memberof”详细信息。在此示例中,Domain是cm.loc,用户是admin1@cm.loc。这是我正在使用的ldapsearch语法。它返回一个错误。 有人可以指出我正确的方向,使用ldapsearch查询特定帐户的详细信息成员的正确语法是什么?
这是我正在使用的返回错误; “ldap搜索ext坏搜索过滤器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)…))'
谢谢
答案 0 :(得分:1)
memberOf
是具有DN
语法的属性。 group1
不是DN。
答案 1 :(得分:0)
语法看起来没问题,你需要使用memberOf
查询的完整DN语法,它仍然是memberOf=
,而不是memberOf:
- 如果你使用冒号语法那么你' ll得到错误的搜索过滤器错误。
接下来就是必须根据RFC4515的规范转义搜索字符串。这通常意味着搜索字符串术语中的以下字符:\
,*
,(
和)
必须使用\5c
转义{{1}分别是{},\2a
,\28
,否则会得到相同的错误 - 糟糕的搜索字词。这是 在 之上,ldap服务器可能已经应用于DN的转义。