Re: lug-bg: ldapsearch максимална дължина ?
- Subject: Re: lug-bg: ldapsearch максимална дължина ?
- From: Sava Chankov <sava.chankov@xxxxxxxxx>
- Date: Thu, 09 Mar 2006 21:02:25 +0200
- Delivered-to: lug-bg-list@xxxxxxxxxxxxxxxxxx
- Delivered-to: lug-bg@xxxxxxxxxxxxxxxxxx
Lubomir Haralampiev wrote:
> Здравейте,
>
> Имам openldap 2.2.27 и openldap-client 2.2.27 на SuSE 10.0.
> Имам няколко dn които са с дължина от осемдесет и няколко знака.
> Когато търся с ldapsearch, всичко след 78-мия знак се пренася на следващия ред.
> Нещо такова:
>
> dn: cn=***,ou=***,...,ou=***,o
> =***
>
> При проба се получи същото и при другите атрибути, не само при dn.
> В резултат на това ldif-a ми е невалиден.
> Пробвах в bash и sh, все същото. Явно не е от shell-a.
>
> Някой има ли идеи или насоки, къде да търся причината?
> Благодаря!
>
> Поздрави,
> Любомир Харалампиев
Не знам дали ще помогне, но опитай -LLL . Пробвай да пренасочиш изхода към файл.
Заобиколно решение - ако нищо не помогне и разбираш малко от perl - е да
модифицираш долния пример и да си инсталираш perl-ldap:
#!/usr/bin/perl -w
use strict;
use Net::LDAP;
use Net::LDAP::LDIF;
my $ldap = Net::LDAP->new('сървър.домейн') or die $@;
my $res = $ldap->bind( 'root_dn тука' , password => 'парола');
die $res->error() if $res->is_error();
$res = $ldap->search( base => 'base_dn тук',
scope => 'one|sub|base',
filter => 'филтър'
);
die $res->error() if $res->is_error();
my $ldif = Net::LDAP::LDIF=>new(STDOUT, "w", wrap => 27);
$ldif->write_entry($res->entries);
Ето какво пише в man страницата на Net::LDAP::LDIF. Явно това 78 е някакво
свещено число (за да не превишават редовете 80 знака, вкл. знаците за нов ред)
wrap => 78
Number of columns where output line wrapping shall occur.
Default is 78. Setting it to 40 or lower inhibits wrapping.
Успех!
Сава
|