Приветствую всех!!
Есть задача - заставить FreeBSD считывать пользователей из групп в AD на Win Server 2008R2.
Сейчас, когда пытаюсь выполнить
ldapsearch -D "user@domain.local" -x -W -b "OU=Отдел,OU=Departments,DC=domain,DC=local" -h 10.1.1.1
выдает ошибкуsearch: 2
result: 32 No such object
matchedDN: OU=Departments,DC=domain,DC=local
text: 0000208D: NameErr: DSID-0310020A, problem 2001 (NO_OBJECT), data 0, best
match of:
'OU=SIBUR Departments,DC=domain,DC=local'Я так понимаю, что система не может считать кириллицу в названии OU, вопрос - что нужно сделать чтобы фряха смогла прочитать название?
Пробовал русифицировать консоль на koi8-r и CP1251, не помогло.
При русификации использовал вот эти статьи.
http://www.freebsd.org.ru/how-to/russian/ruconsole.html
http://www.freebsd.org.ru/how-to/russian/rulocale.html
http://www.lissyara.su/articles/freebsd/tuning/locale_charse.../
Заранее благодарю за помощь.
>[оверквотинг удален]
> Сейчас, когда пытаюсь выполнить
> ldapsearch -D "user@domain.local" -x -W -b "OU=Отдел,OU=Departments,DC=domain,DC=local"
> -h 10.1.1.1
> выдает ошибку
> search: 2
> result: 32 No such object
> matchedDN: OU=Departments,DC=domain,DC=local
> text: 0000208D: NameErr: DSID-0310020A, problem 2001 (NO_OBJECT), data 0, best
> match of:
> 'OU=SIBUR Departments,DC=domain,DC=local'Совет кривой конечно, но можно обновиться до 10.1 и в ней задействовать драйвер vt с UTF-8. Не факт что поможет...
если searchbase (OU=Отдел,OU=Departments,DC=domain,DC=local) будет в файле, а не в командной строке, то тогда скорее c кодировкой проблема исчезнет -- изврат конечно, но может типа -b `cat filename` попробовать?
> если searchbase (OU=Отдел,OU=Departments,DC=domain,DC=local) будет в файле, а не в командной
> строке, то тогда скорее c кодировкой проблема исчезнет -- изврат конечно,
> но может типа -b `cat filename` попробовать?Пока не совсем понял как его заставить читать из файла и какой вообще алгоритм считывания из файла. cat filename не помог. Судя по мануалам можно заставить его читать пользователей и группы из фала, а вот путь все-равно указывают руками.
Вот тут про файл
http://www.zflexsoftware.com/zFLEXSW/index.php/products-serv...
>> если searchbase (OU=Отдел,OU=Departments,DC=domain,DC=local) будет в файле, а не в командной
>> строке, то тогда скорее c кодировкой проблема исчезнет -- изврат конечно,
>> но может типа -b `cat filename` попробовать?
> Пока не совсем понял как его заставить читать из файла и какой
> вообще алгоритм считывания из файла. cat filename не помог. Судя по
> мануалам можно заставить его читать пользователей и группы из фала, а
> вот путь все-равно указывают руками.
> Вот тут про файл
> http://www.zflexsoftware.com/zFLEXSW/index.php/products-serv...попробуйте конвертните в base64
>>> если searchbase (OU=Отдел,OU=Departments,DC=domain,DC=local) будет в файле, а не в командной
>>> строке, то тогда скорее c кодировкой проблема исчезнет -- изврат конечно,
>>> но может типа -b `cat filename` попробовать?
>> Пока не совсем понял как его заставить читать из файла и какой
>> вообще алгоритм считывания из файла. cat filename не помог. Судя по
>> мануалам можно заставить его читать пользователей и группы из фала, а
>> вот путь все-равно указывают руками.
>> Вот тут про файл
>> http://www.zflexsoftware.com/zFLEXSW/index.php/products-serv...
> попробуйте конвертните в base64Спасибо за помощь, проблему решил, все оказалось намного проще.
Для нормального чтения каталогов AD у вас должна стоять первичная локаль - UTF-8.
Если же надо читать названия OU из файла - нужно заполнять этот файл в кодировке UTF-8 и тогда все будет хорошо.
Для нормальной работы с локалью UTF-8, рекомендую испольхзовать FreeBSD 10.1.
По ссылке - подробная инструкция по настройке UTF-8 на FreeBSD 10.1.
http://unix1.jinr.ru/~lavr/vt/vtcons.html
>[оверквотинг удален]
> ldapsearch -D "user@domain.local" -x -W -b "OU=Отдел,OU=Departments,DC=domain,DC=local"
> -h 10.1.1.1
> выдает ошибку
> search: 2
> result: 32 No such object
> matchedDN: OU=Departments,DC=domain,DC=local
> text: 0000208D: NameErr: DSID-0310020A, problem 2001 (NO_OBJECT), data 0, best
> match of:
> 'OU=SIBUR Departments,DC=domain,DC=local'
> Я так понимаю, что система не может считать кириллицу в названии OU,Не система, а ldap.
Пробуйте использовать truss для анализа вывода.
>[оверквотинг удален]
>> выдает ошибку
>> search: 2
>> result: 32 No such object
>> matchedDN: OU=Departments,DC=domain,DC=local
>> text: 0000208D: NameErr: DSID-0310020A, problem 2001 (NO_OBJECT), data 0, best
>> match of:
>> 'OU=SIBUR Departments,DC=domain,DC=local'
>> Я так понимаю, что система не может считать кириллицу в названии OU,
> Не система, а ldap.
> Пробуйте использовать truss для анализа вывода.Я так понимаю - интересует этот кусок?
# extended LDIF
write(1,"# extended LDIF\n",16) = 16 (0x10)
#
write(1,"#\n",2) = 2 (0x2)
# LDAPv3
write(1,"# LDAPv3\n",9) = 9 (0x9)
# base <OU=Отдел,OU=Departments,DC=domain,DC=local> with scope subtree
write(1,"# base <OU=\M-p\M-o\M-l\M-i\M-|"...,73) = 73 (0x49)
# filter: (objectclass=*)
write(1,"# filter: (objectclass=*)\n",26) = 26 (0x1a)
# requesting: ALL
write(1,"# requesting: ALL\n",18) = 18 (0x12)
#
write(1,"#\n",2) = 2 (0x2)write(1,"\n",1) = 1 (0x1)
clock_gettime(13,{1430376201.000000000 }) = 0 (0x0)
write(3,"0Q\^B\^A\^BcL\^D,OU=\M-p\M-o\M-l"...,83) = 83 (0x53)
poll({3/POLLIN|POLLPRI},1,-1) = 1 (0x1)
read(3,"0\M^D\0\0\0\M-,\^B\^A",8) = 8 (0x8)
read(3,"\^Be\M^D\0\0\0\M-#\n\^A \^D"OU=S"...,170) = 170 (0xaa)
# search result
write(1,"# search result\n",16) = 16 (0x10)
search: 2
write(1,"search: 2\n",10) = 10 (0xa)
result: 32 No such object
write(1,"result: 32 No such object\n",26) = 26 (0x1a)
matchedDN: OU=Departments,DC=domain,DC=local
write(1,"matchedDN: OU=Departments,DC=d"...,46) = 46 (0x2e)
text: 0000208D: NameErr: DSID-0310020A, problem 2001 (NO_OBJECT), data 0, best
write(1,"text: 0000208D: NameErr: DSID-03"...,80) = 80 (0x50)
match of:
write(1," match of:\n",11) = 11 (0xb)
'OU=Departments,DC=domain,DC=local'
write(1,"\t'OU=Departments,DC=domain,DC="...,38) = 38 (0x26)write(1,"\n",1) = 1 (0x1)
write(1,"\n",1) = 1 (0x1)
# numResponses: 1
write(1,"# numResponses: 1\n",18) = 18 (0x12)
write(3,"0\^E\^B\^A\^CB\0",7) = 7 (0x7)
shutdown(3,SHUT_RDWR) = 0 (0x0)
close(3) = 0 (0x0)Судя по всему он все-таки не может латиницу прочитать. Может как-то можно по-другому указать ему OUшку?? Типа по ObjectGUID? Правда по GUID я пробовал не помогло, может там параметр какой надо выставить чтобы по GUID искал?