Настройки
Настройки LDAP

Фильтры для DN. Особенности работы и примеры

6min

Created: August 2, 2023 6:59 PM

Пользователи

  • Универсальный фильтр по умолчанию: (|(objectclass=posixAccount)(uid=*)(sAMAccountType=805306368)(&(objectCategory=person)(objectClass=user)))
  • Только включенные пользователи: (&(|(objectclass=posixAccount)(uid=*)(sAMAccountType=805306368))(objectCategory=person)(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
  • Все пользователи samaccountname, имя которых начинается с my (можно использовать другой атрибут, содержащий строку) — (&(objectCategory=person)(objectClass=user)(samaccountname=my*))
  • Все пользователи, являющиеся членами заданной группы: (&(objectCategory=person)(objectClass=user)(memberOf=CN=MyGroup,OU=MyOU,DC=domain,DC=my))
  • Все пользователи, являющиеся членами заданной группы, а также все пользователи, являющиеся членами вложенных групп: (&(objectCategory=person)(objectClass=user)(memberOf:1.2.840.113556.1.4.1941:=CN=MyGroup,OU=MyOU,DC=domain,DC=my))


Группы

  • Фильтр по умолчанию: (|(objectclass=group)(objectclass=organizationalRole)(objectclass=posixGroup))
  • Группы в опиcании которых содержится слово security: (&(objectclass=group)(description=*security*))
  • Группы, входящие в заданную группу: (&(objectCategory=group)(objectClass=group)(memberOf=CN=MyGroup,OU=MyOU,DC=domain,DC=my))
  • Группы, входящие в заданную группу, а также все вложенные группы: (&(objectCategory=group)(objectClass=group)(memberOf:1.2.840.113556.1.4.1941:=CN=MyGroup,OU=MyOU,DC=domain,DC=my))
  • Только группы безопасности: (&(objectCategory=group)(objectClass=group)(groupType:1.2.840.113556.1.4.803:=2147483648))
  • Только группы распространения — (&(objectCategory=group)(objectClass=group)(!(groupType:1.2.840.113556.1.4.803:=2147483648)))


Особенности работы фильтров

  • Пассворк позволяет с помощью фильтров для DN загружать информацию о вложенных группах и пользователях, которые являются членами вложенных групп. При этом роли и ограничения входа в соответствии с группами применяются непосредственно к родительской группе. К вложенным объектам ограничения и роли не применяются.
  • Выражение после логического оператора должно быть взято в скобки.

Пример:

(!(userAccountControl:1.2.840.113556.1.4.803:=2))

В продуктах компании Microsoft часто можно напрямую указать некоторые логические операторы.

Пример:

(!userAccountControl:1.2.840.113556.1.4.803:=2)
  • Поиск с подстановочным символом для групп не поддерживается. Это техническое ограничение большинства LDAP серверов, поэтому фильтр вида (&(objectCategory=group)(objectClass=group)(memberOf=CN=My*,OU=MyOU,DC=domain,DC=my)) использовать невозможно.