<Предыдущая | Содержание: | Следующая>
1.4. Изменение базы данных конфигурации slapd
Также можно запрашивать и изменять DIT slapd-config. Вот несколько примеров.
• Используйте ldapmodify, чтобы добавить «Индекс» (атрибут DbIndex) в вашу базу данных {1} mdb, cn = config (dc = example, dc = com). Создайте файл, назовите его uid_index.ldifсо следующим содержанием:
dn: olcDatabase = {1} mdb, cn = config add: olcDbIndex
olcDbIndex: почтовый eq, sub
Затем введите команду:
sudo ldapmodify -Q -Y ВНЕШНИЙ -H ldapi: /// -f uid_index.ldif
изменение записи "olcDatabase = {1} mdb, cn = config"
Подтвердить изменение можно так:
sudo ldapsearch -Q -LLL -Y ВНЕШНИЙ -H ldapi: /// -b \ cn = config '(olcDatabase = {1} mdb)' olcDbIndex
dn: olcDatabase = {1} mdb, cn = config olcDbIndex: objectClass eq olcDbIndex: cn, uid eq
olcDbIndex: uidNumber, gidNumber eq olcDbIndex: member, memberUid eq olcDbIndex: mail eq, sub
• Добавим схему. Сначала его нужно будет преобразовать в формат LDIF. Вы можете найти непреобразованные схемы в дополнение к преобразованным в / и т.д. / LDAP / схема каталог.
• Удалить схему из базы данных slapd-config - нетривиальная задача. Попрактикуйтесь в добавлении схем в тестовой системе.
• Перед добавлением какой-либо схемы вы должны проверить, какие схемы уже установлены (показаны стандартные выходные данные по умолчанию):
sudo ldapsearch -Q -LLL -Y ВНЕШНИЙ -H ldapi: /// -b \ cn = schema, cn = config dn
dn: cn = схема, cn = config
dn: cn = {0} core, cn = schema, cn = config
dn: cn = {1} косинус, cn = schema, cn = config
dn: cn = {2} nis, cn = schema, cn = config
dn: cn = {3} inetorgperson, cn = schema, cn = config
В следующем примере мы добавим схему CORBA.
1. Создайте файл конфигурации преобразования. схема_конвертировать.conf содержащий следующие строки:
include /etc/ldap/schema/core.schema include /etc/ldap/schema/collective.schema include /etc/ldap/schema/corba.schema include /etc/ldap/schema/cosine.schema include / etc / ldap / schema / duaconf.schema включает /etc/ldap/schema/dyngroup.schema
включить /etc/ldap/schema/inetorgperson.schema включить /etc/ldap/schema/java.schema
include /etc/ldap/schema/misc.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/openldap.schema include /etc/ldap/schema/ppolicy.schema include / etc / ldap / schema / ldapns.schema включает /etc/ldap/schema/pmi.schema
2. Создайте выходной каталог. ldif_output.
3. Определите индекс схемы:
slapcat -f schema_convert.conf -F ldif_output -n 0 | grep corba, cn = схема
cn = {2} corba, cn = schema, cn = config
Когда slapd принимает объекты с тем же родительским DN, он создает индекс для этого объекта. Индекс заключен в фигурные скобки: {X}.
4. Используйте slapcat для выполнения преобразования:
slapcat -f schema_convert.conf -F ldif_output -n0 -H \ ldap: /// cn = {2} corba, cn = schema, cn = config -l cn = corba.ldif
Преобразованная схема теперь находится в cn = corba.ldif
5. редактировать cn = corba.ldif чтобы получить следующие атрибуты:
dn: cn = corba, cn = schema, cn = config
...
сп: корба
Также удалите следующие строки снизу:
structuralObjectClass: olcSchemaConfig entryUUID: 52109a02-66ab-1030-8be2-bbf166230478
creatorsName: cn = config createTimestamp: 20110829165435Z
entryCSN: 20110829165435.935248Z # 000000 # 000 # 000000
modifiersName: cn = config modifyTimestamp: 20110829165435Z
Значения ваших атрибутов будут отличаться.
6. Наконец, используйте ldapadd, чтобы добавить новую схему в DIT slapd-config:
sudo ldapadd -Q -Y ВНЕШНИЙ -H ldapi: /// -f cn \ = corba.ldif
добавление новой записи "cn = corba, cn = schema, cn = config"
7. Подтвердите загруженные в настоящее время схемы:
sudo ldapsearch -Q -LLL -Y ВНЕШНИЙ -H ldapi: /// -b cn = schema, cn = config dn
dn: cn = схема, cn = config
dn: cn = {0} core, cn = schema, cn = config
dn: cn = {1} косинус, cn = schema, cn = config
dn: cn = {2} nis, cn = schema, cn = config
dn: cn = {3} inetorgperson, cn = schema, cn = config
dn: cn = {4} corba, cn = schema, cn = config
Чтобы внешние приложения и клиенты могли аутентифицироваться с помощью LDAP, каждое из них должно быть специально настроено для этого. За подробностями обращайтесь к соответствующей документации на стороне клиента.