Устанавливаем пакеты <code> apt-get update apt-get install slapd ldap-utils samba-doc </code> Если вы пропустили настройку **slapd** во время установки, то потом в любой момент воспользуйтесь командой <code> dpkg-reconfigure slapd </code> Отвечаем на вопросы: * Не выполнять настройку сервера OpenLDAP? : Нет * Доменное имя DNS : drivesource.ru * Название организации : Drive Source Team * Используемые серверы баз данных : HDB * Удалять базу данных при вычистке slapd? : Да * Переместить старую базу данных? : Да * Пароль администратора : password * Подтвердите ввод пароля : password * Allow LDAPv2 protocol? : Да Посмотрим теперь что же мы имеем <code> ldapsearch -b cn=config -D cn=admin,cn=config -x -W '(objectCLass=olcDatabaseConfig)' dn </code> Результат команды будет следующим <code> # extended LDIF # # LDAPv3 # base <cn=config> with scope subtree # filter: (objectClass=*) # requesting: dn # # config dn: cn=config # module{0}, config dn: cn=module{0},cn=config # schema, config dn: cn=schema,cn=config # {0}core, schema, config dn: cn={0}core,cn=schema,cn=config # {1}cosine, schema, config dn: cn={1}cosine,cn=schema,cn=config # {2}nis, schema, config dn: cn={2}nis,cn=schema,cn=config # {3}inetorgperson, schema, config dn: cn={3}inetorgperson,cn=schema,cn=config # {-1}frontend, config dn: olcDatabase={-1}frontend,cn=config # {0}config, config dn: olcDatabase={0}config,cn=config # {1}hdb, config dn: olcDatabase={1}hdb,cn=config # search result search: 2 result: 0 Success # numResponses: 11 # numEntries: 10 </code> Добавим схему **samba.schema** Копируем схему **samba.schema** в файл <code> zcat /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > /etc/ldap/schema/samba.schema </code> Составим список схем которые нужно преобразовать в формат **ldif** <code> cat <<EOFLIST > schema_convert.conf include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/samba.schema EOFLIST </code> Преобразуем схему **samba.schema** в формат **ldif** <code> rm -rf /tmp/ldif_output mkdir /tmp/ldif_output slaptest -f schema_convert.conf -F /tmp/ldif_output find /tmp/ldif_output -type f -name '*samba.ldif' -exec cp {} /etc/ldap/schema/samba.ldif \; echo -e '1c\ndn: cn=samba,cn=schema,cn=config\n.\n3c\ncn: samba\n.\n$n\n-6,$d\nwq' | ed /etc/ldap/schema/samba.ldif </code> Загрузим схему **samba.ldif** в базу OpenLDAP <code> ldapadd -x -D cn=admin,cn=config -W -f /etc/ldap/schema/samba.ldif </code> Составим список индексирования оптимальный для данных **samba.ldif** <code> cat <<EOFINDEX >samba_indexes.ldif dn: olcDatabase={1}hdb,cn=config changetype: modify add: olcDbIndex olcDbIndex: uidNumber eq olcDbIndex: gidNumber eq olcDbIndex: loginShell eq olcDbIndex: uid eq,pres,sub olcDbIndex: memberUid eq,pres,sub olcDbIndex: uniqueMember eq,pres olcDbIndex: sambaSID eq olcDbIndex: sambaPrimaryGroupSID eq olcDbIndex: sambaGroupType eq olcDbIndex: sambaSIDList eq olcDbIndex: sambaDomainName eq olcDbIndex: default sub EOFINDEX </code> Загрузим новые индексы в сервер OpenLDAP <code> ldapmodify -x -D cn=admin,cn=config -W -f samba_indexes.ldif </code>