LINUX.ORG.RU
ФорумAdmin

ldapsearch не ищет по имени


0

2

есть у меня две машины, на каждой запускаю ldapsearch -x -LLL -h host_name CN='РУССКИЕ БУКВЫ'

одна находит запись, другая нет. при этом если искать по uid-у, то запись находят обе.

вопрос: почему так? где искать различия?

Этот ldap вообще странный. У меня иногда не ищет, если в критерии указать больше трех символов.

anonymous ()

я записываю и извлекаю данные в base64

uspen ★★★★★ ()

о, нашлась разница. одна оказывается красная шапочка, а вторая aix. что мне это дает? :)

Rastafarra ★★★ ()
Ответ на: комментарий от Rastafarra

извиняюсь, только записываю. то есть типа

echo -e "dn: uid=$uid,ou=Users,dc=example,dc=com\n\
cn:: $cn
тырыпыры" | ldapadd с параметрами

переменная cn получается echo «Русские буквы|base64»

uspen ★★★★★ ()
Ответ на: комментарий от uspen

не, у меня так не проканает... там русские буквы уже есть, если я их переведу в base64, могу и по морде схлопотать.

Rastafarra ★★★ ()
Ответ на: комментарий от Rastafarra

собственно в aix и не работает.

локаль на машинах одинаковая?

Skolotovich ★★★ ()
Ответ на: комментарий от Skolotovich

и попробуй еще на машине где работает сделать echo 'РУССКИЕ БУКВЫ' > cn.txt, а на машине с aix

ldapsearch -x -LLL -h host_name CN="$(cat cn.txt)"
Skolotovich ★★★ ()
Ответ на: комментарий от Skolotovich

локаль на машинах одинаковая?

нет, первое что посмотрел. в шапке utf-8, если такую поставить в аиксе, то он ругается «ldap_simple_bind: Encoding error».

Rastafarra ★★★ ()
Ответ на: комментарий от Rastafarra

100% проблема в кодировке, советую не пользовать кириллицу напрямую, а заворачивать ее в base64

Skolotovich ★★★ ()
Ответ на: комментарий от Skolotovich

советую не пользовать кириллицу напрямую, а заворачивать ее в base64

пример?

Rastafarra ★★★ ()

русские имена должны быть в base64

zgen ★★★★★ ()
Ответ на: комментарий от Skolotovich

вообще вариантов куча

там куча вариантов как добавить и декодировать, а как искать...? cn=`БУКВЫ | ифыу64` не прокатывает.

Rastafarra ★★★ ()
Ответ на: комментарий от zgen

русские имена должны быть в base64

тот же вопрос: как искать по cn, если у меня есть base64 строка.

Rastafarra ★★★ ()

и еще вопрос, зачем тебе кириллица в CN? может можно обойтись другими полями? и какую схему пользуешь?

Skolotovich ★★★ ()

линукс как показывает при этом cn в выводе лдапсерча? если нормальными буквами, а не cn:: ajsbagadgd=, то поздравляю, у тебя неправильные данные в дереве, а линукс работает только потому что ему плевать. соляра бы тоже не работала. продись на линуксе скриптом по дереву, переведи данные в base64. ну и конечно нахера это вообще надо, кириллица в cn??!

val-amart ★★★★★ ()
Ответ на: комментарий от val-amart

если нормальными буквами, а не cn:: ajsbagadgd=

именно так, cn:: ajsbagadgd=

Rastafarra ★★★ ()
Ответ на: комментарий от Rastafarra

значит, все у тебя правильно, замечательно. отсюда вывод - лдапсерч на аиксе не вкурсе про base64. откуда там лдапсерч - родной или из openldap? скорее всего, сборка ldaptools из openldap решит проблему.

val-amart ★★★★★ ()
Ответ на: комментарий от val-amart

скорее всего, сборка ldaptools из openldap решит проблему.

скорее всего «РУССКИЕ БУКВЫ» под aix и «РУССКИЕ БУКВЫ» по рх имеют разную кодировку и как следствие разный base64

Skolotovich ★★★ ()
Ответ на: комментарий от Skolotovich

всего «РУССКИЕ БУКВЫ» под aix и «РУССКИЕ БУКВЫ» по рх имеют разную кодировку и как следствие разный base64

да вообще непонятно нихрена...

Rastafarra ★★★ ()
Ответ на: комментарий от Rastafarra
 да вообще непонятно нихрена...

тогда начни с http://ru.wikipedia.org/wiki/Локаль , продолжи http://ru.wikipedia.org/wiki/Набор_символов и http://ru.wikipedia.org/wiki/Локализация

после всего этого задумайся о количестве кириллических кодировок

и закочи мыслью о том какая локаль на aix машине, и чтото у меня есть подозрения что там не utf

Skolotovich ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.