The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Схема для OpenLDAP, !*! Mufanu, 27-Янв-11, 07:36  [смотреть все]
Всем доброго дня!
Есть база пользователей в OpenLDAP. Поднял почту (Exim + LDAP). Хочу прикрутить к уже имеющимся учетным записям почтовые ящики.

Структура пользователя вот такая:
dn: uid=Admin,ou=users,dc=appri,dc=ru
objectClass: account
objectClass: posixAccount
objectClass: sambaSamAccount
cn: Admin
uid: Admin
uidNumber: 10001
gidNumber: 10001
homeDirectory: /mnt/data/homes/Admin
loginShell: /usr/sbin/nologin
gecos: Admin
description: User account
userPassword: {SSHA}DxA0i4Y3vIh/MXhLaGReT5waVPlVfVy+
sambaSID: S-1-5-21-2256578743-2313579320-1201635769-1001
displayName: Admin
sambaPasswordHistory: 0000000000000000000000000000000000000000000000000000000000
000000
sambaAcctFlags: [U          ]
sambaPwdMustChange: 2147483647
sambaPwdCanChange: 0
sambaNTPassword: B1D9FEB6F87604512CED9E9D0AAADE7D
sambaPwdLastSet: 1291976798

Хочу добавить вот такую схему:
#$Id: mail.schema,v 1.4 2003/06/12 14:05:09 mrsam Exp $
# fr33man

attributetype ( 1.3.6.1.4.1.7914.1.2.1.12 NAME 'mailBoxStatus'
    DESC 'The status of a user account: active, noaccess, disabled, deleted'
    EQUALITY caseIgnoreIA5Match
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.7914.1.2.1.3 NAME 'mailBoxStore'
    DESC 'Path to the maildir/mbox on the mail system'
    EQUALITY caseExactIA5Match
    SUBSTR caseIgnoreIA5SubstringsMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.7914.1.2.1.4 NAME 'mailDirectory'
    DESC 'Path to the mail system directory'
    EQUALITY caseExactIA5Match
    SUBSTR caseIgnoreIA5SubstringsMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.7914.1.2.1.15 NAME 'mailBoxQuota'
    DESC 'The size of space the user can have until further messages get bounced.'
    EQUALITY integerMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )

objectclass ( 1.3.6.1.4.1.10018.1.2.1 NAME 'mailAccount' SUP top AUXILIARY
    DESC 'Mail account object'
    MUST ( mail $ mailBoxStore $ mailDirectory )
        MAY ( mailBoxQuota $ mailBoxStore ) )

Из начально схема была не моя, я лишь переделал под себя. Читал хэндбук по OpenLDAP. Есть некоторые непонятные для меня вещи:
1. Как выбирать идентификатор объекта (1.3.6.1.4.1.7914.1.2.1.12)?
2. Хочу чтобы mailAccount был дополнением для posixAccount. У меня вроде бы не так.

Посоветуйте как решить эти проблемы. За ранее всем спасибо.

  • Схема для OpenLDAP, !*! Слоупок, 14:19 , 27-Янв-11 (1) +1
    1) OID нужно регистрировать прямо на сайте какого-нить ответственного регистратора. Если хочешь официально застолбить свои атрибуты и классы. А вообще если по простому можно просто продолжать OIDы которые уже есть, писать свои хоть от балды, если не рассчитывать на официальный статус своих схем и не бояться проблем с совместимостью, потому что они однажды продублироваться могут при такой неофициальщине.

    2) AUXILARY - значит подрубаемый класс. Т.е. он не может быть один для объекта, но к другому классу типа STRUCTURAL может быть добавлен. У тебя класс как раз AUXILARY. То что тебе и нужно.

    Странно, что в этом классе дублируются атрибуты MUST и MAY:

    MUST ( mail $ mailBoxStore $ mailDirectory )
            MAY ( mailBoxQuota $ mailBoxStore ) )

    • Схема для OpenLDAP, !*! Mufanu, 15:14 , 27-Янв-11 (2)
      Про OID все ясно. LDAP сервер локальный, поэтому отбалды подходит.

      mailBoxStore - Это просто опечатка))))

      Спасибо большое за разъяснение.

      PS. А если я укажу SUP posixAccount, то он подключится только к posixAccount?

      • Схема для OpenLDAP, !*! Слоупок, 17:52 , 27-Янв-11 (3) +1
        >если я укажу SUP posixAccount, то он подключится только к posixAccount?

        В таком случае произойдёт наследование атрибутов класса posixaccount классом mailaccount.

        Т.е. Тебе уже не нужно будет в объекте указывать оба класса. Достаточно будет указать mailaccount, чтобы получить право указывать так же и любые атрибуты posixaccount, но наследуются и обязанности, т.е. те атрибуты, которые были обязательны для posixaccount будут обязательны и для наследника - mailaccount.

        Честно говоря, я бы не стал так делать. Потом можно будет легко запутаться.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру