Назад | Перейти на главную страницу

Linux LDAP-запрос к AD: отсутствуют члены группы

Два разных сервера Linux (CentOS и Ubuntu) в моей локальной сети не могут видеть определенных членов группы AD при выполнении запроса LDAP.

Мы настраиваем программное обеспечение, которое может использовать LDAP для аутентификации. Чтобы ограничить количество внутренних пользователей, которые могут получить доступ к устройству, я создал группу «передача файлов» в нашей AD и добавил к ней 8 пользователей.

Я попытался выполнить следующий запрос LDAP с CentOS 6.5 и Ubuntu 12.04.4:

   ldapsearch \
     "(memberof=CN=FileTransfer,OU=Security Groups,DC=domain,DC=local)" \
     dn -x -W -D 'cn=ldapquery,ou=user accounts,dc=domain,dc=local' -LLL

И вот результаты:

dn: CN=Eva ,OU=User Accounts,DC=domain,DC=Local
dn: CN=Simon ,OU=User Accounts,DC=domain,DC=Local
dn: CN=Eric ,OU=User Accounts,DC=domain,DC=Local
dn: CN=Ronald ,OU=User Accounts,DC=domain,DC=Local

# refldap://ForestDnsZones.domain.Local/DC=ForestDnsZones,DC=domain,DC=Local
# refldap://DomainDnsZones.domain.Local/DC=DomainDnsZones,DC=domain,DC=Local
# refldap://domain.Local/CN=Configuration,DC=domain,DC=Local

Группа AD состоит из 8 членов, но запрос LDAP возвращает только 4.

Я удалил и заново создал группу; без радости.

Я добавил в группу новые тестовые учетные записи пользователей, и они не появляются даже после того, как ушли на выходные.

Я знаю, что домен синхронизируется правильно, потому что как только я удаляю одного из «видимых» пользователей - запрос LDAP отражает изменение на обоих серверах Linux.

Кто-нибудь может объяснить эту странность?

Верный. Это прямые члены группы, а не вложенные.

Временное решение моей проблемы - использовать административную учетную запись для выполнения запроса LDAP.

Каким-то образом определенные объекты AD не были доступны для чтения общей учетной записью, которую я использовал (учетная запись запроса LDAP не имела read group membership разрешение) - добавление этого права к моей общей учетной записи запроса LDAP навсегда устранило проблему.

Проблема заключается не только в запросах Linux LDAP к Active Directory. Также происходит с запросами Java LDAP и Powershell AD. В этих случаях некоторые пользователи AD не могли запросить член атрибут и получите любые результаты. Опять же, учетная запись, используемая для запроса, не имела читать членство в группе разрешение для рассматриваемых пользователей AD.

Например, следующий запрос пользователя «ptest» с помощью AD не дает результатов, если запрашивающий пользователь не имеет необходимых разрешений для пользователя «ptest». (В противном случае обычно появляется ряд строк, начинающихся с «CN», показывающих группы, к которым принадлежит «ptest»).

Get-ADUser ptest -Properties * | Select-Object -ExpandProperty MemberOf