В 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.
В LDAP вы можете добавлять так называемые описания к именам атрибутов, разделенных точкой с запятой. Интерпретация этих описаний может варьироваться в зависимости от описания.
Таким образом, криптоданные и криптоданные; двоичные не являются разными атрибутами!
Фактически ; двоичные
- это просто тип передачи для изменения кодировки, используемой при передаче атрибута по сети. Сегодня он имеет очень ограниченное использование (см. RFC 4522 ) и в основном используется при запросе атрибутов сертификата PKI.
Если ваш сервер LDAP действительно возвращает разные значения атрибутов для криптоданных и ] cryptodata; binary , вы должны проверить, какая из них имеет правильную кодировку для вашего клиента, и разобраться на стороне клиента. Не пишите простые сценарии оболочки. Лучше использовать для этого язык сценариев вроде Python / Perl / Ruby и достойный модуль LDAP.