Проверка членства в группах на сервере FreeIPA - PullRequest
0 голосов
/ 13 марта 2019

Мне нужно проверить пользователей на членство в группе на 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, с Free IPA, включенным в процесс установки, работающим на виртуальной машине VirtualBox.

1 Ответ

1 голос
/ 23 марта 2019

Оба ваших запроса выполняются с анонимным связыванием с LDAP (-x переключается на ldapsearch). FreeIPA не позволяет просматривать информацию о членстве, если вы не аутентифицированы. Создайте пользователя и используйте его учетные данные для аутентификации при поиске, тогда вы увидите атрибуты member и memberof.

...