Устанавливаем пакеты
apt-get update apt-get install slapd ldap-utils samba-doc
Если вы пропустили настройку slapd во время установки, то потом в любой момент воспользуйтесь командой
dpkg-reconfigure slapd
Отвечаем на вопросы:
Посмотрим теперь что же мы имеем
ldapsearch -b cn=config -D cn=admin,cn=config -x -W '(objectCLass=olcDatabaseConfig)' dn
Результат команды будет следующим
# 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
Добавим схему samba.schema
Копируем схему samba.schema в файл
zcat /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > /etc/ldap/schema/samba.schema
Составим список схем которые нужно преобразовать в формат ldif
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
Преобразуем схему samba.schema в формат ldif
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
Загрузим схему samba.ldif в базу OpenLDAP
ldapadd -x -D cn=admin,cn=config -W -f /etc/ldap/schema/samba.ldif
Составим список индексирования оптимальный для данных samba.ldif
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
Загрузим новые индексы в сервер OpenLDAP
ldapmodify -x -D cn=admin,cn=config -W -f samba_indexes.ldif