smbldap-populate из комплекта smbldap-tools не работает так как надо. вернее он никак не работает, потому что то что он пытается добавить в базу LDAP не добавляется с ошибками. Например, если заэкспортировать данные которые пытается добавить -populate в файл, а потом добавить в базу получаем следующее: ldapadd -f 1.ldif -h localhost -p 389 -x -D cn=adm,dc=xxx,dc=ru -W Enter LDAP Password: adding new entry "dc=xxx,dc=ru" adding new entry "ou=Users,dc=xxx,dc=ru" adding new entry "ou=Groups,dc=xxx,dc=ru" adding new entry "ou=Computers,dc=xxx,dc=ru" adding new entry "ou=Idmap,dc=oct,dc=xxx,dc=ru" adding new entry "uid=root,ou=Users,dc=oct,dc=xxx,dc=ru" ldapadd: update failed: uid=root,ou=Users,dc=oct,dc=xxx,dc=ru ldap_add: Invalid syntax (21) additional info: objectClass: value #3 invalid per syntax в ходе ldif видим, что после objectClass: shadowAccount objectClass: sambaGroupMapping присутствует лишний пробел в конце строки, удаление которого делает ldif-файл корректны. Е.Остпец утверрждает, что это из-за того, что там определена лишняя (неиспользуемая) переменная. Также требует правки и другие утилиты из комплекта smbldap-tools. P.$. Евгений когда-то уже исправлял эти баги, но, к сожалению, изменения потерялись.
s/Остпец/Остапец/
всё это запускалось на Master2.4 в которм был установлен сизифовский smbldap-tools-0.9.1-alt4.1 и perl-Crypt-SmbHash-0.02-alt1.1
причина оказалась в патче smbldap-inplace_idmap-gns.patch маленькая цитата из него: +my $appobjectclass=""; +if (defined $config{idmapinplace}) { + $appobjectclass="\nobjectClass: sambaIdmapEntry"; +} else { + $appobjectclass=""; +} и дальше: -objectClass: shadowAccount +objectClass: shadowAccount $appobjectclass Вопрос -- зачем стоит пробел между shadowAccount и $appobjectclass, если последний начинается с "/n" или принимает значение ""?????
если Вы готовы сделать патч - я добавлю add nmu genix
(In reply to comment #4) > если Вы готовы сделать патч - я добавлю add nmu genix пробелы в smbldap-inplace_idmap-gns.patch поудалять? могу
Created attachment 1506 [details] исправленный патч (убраны пробелы) исправленная версия патча (убрал пробелы перед $appobjects)
можете заливать в инкоминг, ~ через час робот примет к сведению: $ cat > incomingnote << EOF smbldap-tools nmu genix EOF $rsync --inplace incomingnote incoming:/incoming/notes/Sisyphus/gns $
Dear Nick S. Grechukh ! The initial list of commands: 1 smbldap-tools nmu genix The status of performance: 1 PASS: nmu smbldap-tools genix => 2006-05-29 15:10:06 заливайте :)
(In reply to comment #8) > заливайте :) признаюсь честно, фишку с 0.9.1-%{release} не осилил (не столько я, сколько add_changelog), подправил руками
уже в сизифе