Упрощение фильтра LDAP

Мне нужно создать фильтр LDAP с очень длинным условием ИЛИ, и мне интересно, может ли быть лучший способ сделать это.

В настоящее время строка запроса, которую я использую,

(|(userid=user1)(userid=user2)(userid=user3)....) 

В этой строке запроса может быть до 200 пользователей. Пользователи, о которых идет речь, не входят в какую-либо конкретную группу LDAP и не имеют других общих атрибутов; они распределены случайным образом по всему каталогу LDAP. Мой единственный способ определить тех пользователей, которых я интересую, – это их идентификатор пользователя. Я также не контролирую сервер LDAP и не могу создать группу пользователей (в этом контексте это также не имеет смысла).

Построение этой строки запроса утомительно и подвержено ошибкам, и мне интересно, может ли быть лучший способ сделать это.

Дополнительная справочная информация: полный каталог LDAP очень большой, десятки тысяч пользователей. Пользователи, о которых идет речь, были выбраны, чтобы взять учебный класс, а компьютеры в классе разрешат только тем, кто выбран для входа в систему. Список пользователей (и, следовательно, мой фильтр) меняется каждые несколько недель.

Основная реализация будет openldap на RedHat 7.

One Solution collect form web for “Упрощение фильтра LDAP”

 #!/usr/bin/env perl use 5.14.0; use warnings; use Net::LDAP::Util qw(escape_filter_value); # users as arguments or via standard input chomp(@ARGV = readline *STDIN) unless @ARGV; print '(|'; for my $user (@ARGV) { print '(userid=' . escape_filter_value($user) . ')'; } say ')'; 

И тогда что-то вроде

 $ sudo yum -y install perl-LDAP ... yum flails wildly here ... $ perl whatyoucalledtheabovecode foo bar zot (|(userid=foo)(userid=bar)(userid=zot)) $ 
  • Создание имен пользователей с проверкой дублирования и их добавление в LDAP
  • Список SSSD разрешил пользователям
  • Фильтры поиска LDAP с использованием BASH
  • Изменить домашний каталог для пользователя LDAP в Linux
  • OpenLdap - восстановление резервной копии - slapcat / slapadd
  • Блокировка экрана не заблокирована с помощью LDAP на CentOS 7
  • Ошибка OpenLDAP при добавлении ACL
  • Сообщение об ошибке на несуществующем домашнем каталоге (настройки pam.d / *)
  • mod_authnz_ldap связывается как аутентифицирующий пользователь, а не анонимно
  • Автоматизация установки openldap
  • текстовый инструмент для запросов ldap
  • Восстановление резервной копии Openldap
  • Interesting Posts

    Исключить символические ссылки на другие файловые системы с помощью find -mount

    Не удается загрузить Linux Mint после установки Windows (первый) и Linux Mint (второй)

    Как отправить почту через консоль на OpenBSD с помощью учетной записи Gmail?

    открыть (1) в rifle.conf для рейнджера на OS X

    как удалить заголовок, не удаляя другие строки в Linux?

    Форматирование btrfs для надежных метаданных

    Странное поведение значения терминала PS1 в Mac против Ubuntu

    сохранение ssh удаленного исполняемого командного выхода для переменной блокируется. соединение не заканчивается?

    Как заменить GnuPG стабильным с GnuPG современным?

    sed заменяет только строки с соответствующими группами

    Линейка приложений для корневого приложения Linux Mint ломается при изменении элементов управления

    Альтернативы для Шмеля?

    Как смонтировать несколько каталогов на одном разделе?

    virtmanager – Не удалось найти демон libvirtd

    30 секунд в процессе загрузки

    Linux и Unix - лучшая ОС в мире.