在 FreeIPA 服务器上测试组成员身份

Posted

技术标签:

【中文标题】在 FreeIPA 服务器上测试组成员身份【英文标题】:Test group membership on FreeIPA server 【发布时间】:2019-03-13 20:16:32 【问题描述】:

我需要在 FreeIPA 上检查用户是否属于某个组。 (目前我正在命令行上进行测试,以便在 Node 中编写实际代码之前进行搜索)。根据搜索,我使用以下查询:

ldapsearch -x -b "uid=testuser,cn=users,cn=accounts,dc=smnet,dc=com" '(memberof=cn=testgroup,cn=groups,cn=accounts,dc=smnet,dc=com)'

但我得到的结果是:

# extended LDIF
#
# LDAPv3
# base <uid=testuser,cn=users,cn=accounts,dc=smnet,dc=com> with scope subtree
# filter: (memberof=cn=testgroup,cn=groups,cn=accounts,dc=smnet,dc=com)
# requesting: ALL
#

# search result
search: 2
result: 0 Success

# numResponses: 1`

但是,如果我不使用过滤器:

 ldapsearch -x -b "uid=testuser,cn=users,cn=accounts,dc=smnet,dc=com"

我明白了:

# extended LDIF
#
# LDAPv3
# base <uid=testuser,cn=users,cn=accounts,dc=smnet,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# testuser, users, accounts, smnet.com
dn: uid=testuser,cn=users,cn=accounts,dc=smnet,dc=com
givenName: test
sn: user
uid: testuser
cn: test user
displayName: test user
initials: tu
gecos: test user
objectClass: top
objectClass: person
objectClass: organizationalperson
objectClass: inetorgperson
objectClass: inetuser
objectClass: posixaccount
objectClass: krbprincipalaux
objectClass: krbticketpolicyaux
objectClass: ipaobject
objectClass: ipasshuser
objectClass: ipaSshGroupOfPubKeys
objectClass: mepOriginEntry
loginShell: /bin/sh
homeDirectory: /home/testuser
uidNumber: 253000005
gidNumber: 253000005

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

这是我所期待的。我的查询错了吗?还是我误解了结果?

以防万一,这是最新的 Fedora 服务器,安装过程中包含免费 IPA,在 VirtualBox 虚拟机中运行。

【问题讨论】:

您可能希望再次运行第二个查询,查询 memberof 属性以查看用户所在的组(memberof 是一个操作属性,仅在特别请求时才返回)。 ldapsearch -x -b "uid=testuser,cn=users,cn=accounts,dc=smnet,dc=com" memberof 【参考方案1】:

您的两个查询都是通过匿名绑定到 LDAP 完成的(-x 切换到 ldapsearch)。除非您经过身份验证,否则 FreeIPA 不允许查看会员信息。创建一个用户并使用其凭据在您的搜索中进行身份验证,然后您将看到 member 和 memberof 属性。

【讨论】:

这对我有用。 `ldapsearch -W -D uid=admin,cn=users,cn=accounts,dc=example,dc=com -b "uid=testuser,cn=users,cn=accounts,dc=smnet,dc=com" '( memberof=cn=testgroup,cn=groups,cn=accounts,dc=smnet,dc=com)'

以上是关于在 FreeIPA 服务器上测试组成员身份的主要内容,如果未能解决你的问题,请参考以下文章

扩展贴:Centos7.7 安装FreeIPA

#导入Word文档图片#FreeIPA笔记

CDP-DC中Impala集成FreeIPA的LDAP认证

Freeipa - 配置

FreeIPA 4.7.0 服务器 部署

UBUNTU18安装FREEIPA服务端