Фильтры для DN. Особенности работы и примеры
Пользователи
- Универсальный фильтр по умолчанию:
(|(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)) использовать невозможно.