使用 ldapsearch 进行 G Suite LDAP 搜索

Big*_*ork 3 ldap google-workspace

我已经在 G Suite 中配置了 LDAP 应用程序,并且已经下载了证书和密钥。我正在尝试通过 ldapsearch 查询它:

LDAPTLS_CERT="Google_cert.crt" \
LDAPTLS_KEY="Google_cert.key" \
ldapsearch -H ldaps://ldap.google.com:636 -b dc=XXXXX,dc=XXX -x '(mail=first.last@XXXXX.XXX)'
Run Code Online (Sandbox Code Playgroud)

我得到的回应是这样的:

# extended LDIF
#
# LDAPv3
# base <dc=XXXXX,dc=XXX> with scope subtree
# filter: (mail=first.last@XXXXX.XXX)
# requesting: ALL
#

# search result
search: 2
result: 0 Success

# numResponses: 1
Run Code Online (Sandbox Code Playgroud)

我不知道如何解释这个回应。它是否执行了搜索但什么也没找到?searchresult和是什么numResponses意思?

我希望获得更多信息,因为我正在寻找自己,所以我知道我就在那里。我的查询混乱了吗?

编辑 根据评论,我将查询更改为*

LDAPTLS_CERT="Google_cert.crt" \
LDAPTLS_KEY="Google_cert.key" \
ldapsearch -H ldaps://ldap.google.com:636 -b dc=XXXXX,dc=XXX -x '*'
Run Code Online (Sandbox Code Playgroud)

并得到这个:

# extended LDIF
#
# LDAPv3
# base <dc=XXXXX,dc=XXX> with scope subtree
# filter: (objectclass=*)
# requesting: *
#

# XXXXX.XXX
dn: dc=XXXXX,dc=XXX
objectClass: top
objectClass: domain
objectClass: dcObject
dc: XXXXX

# Groups, XXXXX.XXX
dn: ou=Groups,dc=XXXXX,dc=XXX
objectClass: top
objectClass: organizationalUnit
ou: Groups

# search result
search: 2
result: 0 Success

# numResponses: 3
# numEntries: 2
Run Code Online (Sandbox Code Playgroud)

这是否意味着唯一的下一级容器是Groups,接下来我需要在该 ou 中向下搜索?

Big*_*ork 5

我使用的是 Mac,而ldapsearchMac 上则不同。我必须将证书和密钥文件转换为 PKCS12 格式的文件并将它们导入到我的 MacBook 的钥匙串中,然后将LDAPTLS_IDENTITY环境变量与 ldapsearch 命令一起使用,而不是使用 LDAPTLS_CERT和LDAPTLS_KEY。此页将 LDAP 客户端连接到安全 LDAP 服务包含有关在 MacOS 上使用 ldapsearch 的具体说明。

之后,这是找到我的用户的命令:

LDAPTLS_IDENTITY="LDAP Client" ldapsearch -H ldaps://ldap.google.com:636 -b dc=XXXXX,dc=XXX '(uid=first.last)'
Run Code Online (Sandbox Code Playgroud)

希望这可以节省其他人的时间。

  • 我的错。我没有正确遵循 Google 的说明,也没有将我的 .p12 添加到 _SYSTEM_ 钥匙串中。完成此操作并特别允许 /usr/bin/ldapsearch 我可以进行查询 (2认同)