如何使用 curl 查询 LDAP 组成员身份?
How to query LDAP group membership with curl?
我想在命令行上使用 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"
不幸的是,那个电话需要相当长的时间,而且 returns 有很多我不感兴趣的信息。您知道是否存在更有效的方法吗?
你可以试试:
curl --user $CREDS \
"ldaps://ldap.foo.com/DC=ads,DC=foo,DC=com?memberOf?sub?(&(sAMAccountName=$USER)(memberOf=CN=$GROUP,OU=Distribution,OU=Groups,DC=ads,DC=foo,DC=com))"
哪个会
对于过滤器:仅检索具有 sAMAccountName=$USER
和 memberOf=CN=$GROUP,OU=Distribution,OU=Groups,DC=ads,DC=foo,DC=com
的用户(这将使过滤服务器端比使用您的 grep
命令对所有用户属性)
对于 memberOf
添加(在 ?sub
之前)指定您只想检索 memberOf 属性。
如果过滤器更改成功了,请尝试仅检索 dn
以限制输出,因为如果未指定属性,则返回每个属性
更多信息:https://docs.oracle.com/cd/E19396-01/817-7616/ldurl.html
我想在命令行上使用 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"
不幸的是,那个电话需要相当长的时间,而且 returns 有很多我不感兴趣的信息。您知道是否存在更有效的方法吗?
你可以试试:
curl --user $CREDS \
"ldaps://ldap.foo.com/DC=ads,DC=foo,DC=com?memberOf?sub?(&(sAMAccountName=$USER)(memberOf=CN=$GROUP,OU=Distribution,OU=Groups,DC=ads,DC=foo,DC=com))"
哪个会
对于过滤器:仅检索具有
sAMAccountName=$USER
和memberOf=CN=$GROUP,OU=Distribution,OU=Groups,DC=ads,DC=foo,DC=com
的用户(这将使过滤服务器端比使用您的grep
命令对所有用户属性)对于
memberOf
添加(在?sub
之前)指定您只想检索 memberOf 属性。如果过滤器更改成功了,请尝试仅检索
dn
以限制输出,因为如果未指定属性,则返回每个属性
更多信息:https://docs.oracle.com/cd/E19396-01/817-7616/ldurl.html