我想要在命令行上使用curl
检查$USER
是否是LDAP组$GROUP
的成员。
以下命令可以正常工作:
curl --user $CREDS \
"ldaps://ldap.foo.com/DC=ads,DC=foo,DC=com??sub?(sAMAccountName=$USER)" \
| grep -a "memberOf: CN=$GROUP,OU=Distribution,OU=Groups,DC=ads,DC=foo,DC=com"
很遗憾,那个调用需要相当长的时间,并且返回了很多我不感兴趣的信息。你知道是否存在更有效的方法吗?
...?memberOf?sub?...
,它将检索用户是成员的所有组。如果您不需要此信息,这就是我在第二点中所说的:如果过滤器更改起作用,请尝试仅检索dn以限制输出。请求类似于:ldaps://ldap.foo.com/DC=ads,DC=foo,DC=com?dn?sub?...
。由于DN应始终返回,因此不会添加任何其他信息。 - Esteban