Как мне отфильтровать один атрибут в ldapsearch, который начинается с того же имени другого?

В ldap моей компании у нас есть два атрибута, один называется криптоданные и другие криптоданные; двоичные

Когда я выполняю команду ldapsearch и помещаю криптоданные , завершая команду, чтобы фильтровать только по этому атрибуту, я получаю обе криптоданные и криптоданные, двоичные атрибуты . Я хочу, чтобы он возвращал только криптоданные , а не криптоданные; двоичные . Как я могу это сделать ? Оба этих атрибута состоят из многих строк, поэтому использовать grep было бы неудобно.

Пример используемой мной команды, которая возвращает оба поля:

ldapsearch -h 0.0.0.0 -p 389 -D "cn=sysname,ou=whatever,o=ca,c=country" -b "CN=SOMEONE,OU=AUTHORITHY,OU=COMPANY,OU=TYPE,O=CA,C=COUNTRY" -w "password" dn cryptodata

обратите внимание, что оба поля не совпадают. Так что я не могу просто отфильтровать по криптоданным; двоичным

Также это ldap большой компании, поэтому у меня нет управления структурой поля ldap.

0
задан 26 June 2019 в 22:46
1 ответ

В LDAP вы можете добавлять так называемые описания к именам атрибутов, разделенных точкой с запятой. Интерпретация этих описаний может варьироваться в зависимости от описания.

Таким образом, криптоданные и криптоданные; двоичные не являются разными атрибутами!

Фактически ; двоичные - это просто тип передачи для изменения кодировки, используемой при передаче атрибута по сети. Сегодня он имеет очень ограниченное использование (см. RFC 4522 ) и в основном используется при запросе атрибутов сертификата PKI.

Если ваш сервер LDAP действительно возвращает разные значения атрибутов для криптоданных и ] cryptodata; binary , вы должны проверить, какая из них имеет правильную кодировку для вашего клиента, и разобраться на стороне клиента. Не пишите простые сценарии оболочки. Лучше использовать для этого язык сценариев вроде Python / Perl / Ruby и достойный модуль LDAP.

3
ответ дан 4 December 2019 в 12:15

Теги

Похожие вопросы