Поднял на сервере Openldap. Связвл его со всеми необходимыми сервисами. Теперь необходимо прикрутирть авторизацию к Courier-Imap/ В принципе он видит всё что ему необходимо:
Mar 26 12:20:42 route pop3d: chdir Maildir: No such file or directory
Mar 26 12:20:42 route authdaemond: Authenticated: sysusername=<null>, sysuserid=1002, sysgroupid=513, homedir=/home/testus, address=testus@bsd.home, fullname=testus, maildir=<null>, quota=<null>, options=<null>
Mar 26 12:20:42 route authdaemond: Authenticated: clearpasswd=test, passwd={CRYPT}IB4./y1UBLbvAКак видно не определён maildir.
Коннекчусь к openldap, пытаюсь создать запись типа mail - получилось. Запись maildrop - не идёт. её просто нет в списке доступных. Тогда пытаюсь при помощи ldapadmin создать такой тип записи. При указании в поле maildrop любого параметра выдаётся ошибка:
LDAP Error! Синтаксическая ошибка objectClass: value #0 invalid per syntax.
Содержимое slapd.conf:
include /usr/local/etc/openldap/schema/corba.schema
include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/duaconf.schema
include /usr/local/etc/openldap/schema/dyngroup.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema
include /usr/local/etc/openldap/schema/java.schema
include /usr/local/etc/openldap/schema/misc.schema
include /usr/local/etc/openldap/schema/nis.schema
include /usr/local/etc/openldap/schema/pmi.schema
include /usr/local/etc/openldap/schema/ppolicy.schema
include /usr/local/etc/openldap/schema/samba.schema
include /usr/local/etc/openldap/schema/rfc2739.schema
include /usr/local/etc/openldap/schema/horde.schema
include /usr/local/etc/openldap/schema/authldap.schema
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
modulepath /usr/local/libexec/openldap
moduleload back_bdb
database bdb
suffix "dc=bsd,dc=home"
rootdn "cn=Manager,dc=bsd,dc=home"
rootpw password
directory /var/db/openldap-data
index objectClass,uidNumber,gidNumber eq
index cn,mail,surname,maildrop eq,subinitial
index uid,displayName pres,sub,eq
index memberUid,givenname eq,subinitial
index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq
access to attrs=userPassword,sambaLMPassword,sambaNTPassword,sambaPwdLastSet,sambaPwdMustChange
by dn="cn=Manager,dc=bsd,dc=home" write
by self write
by anonymous auth
by * none
access to attrs=objectClass,entry,homeDirectory,uid,uidNumber,gidNumber,memberUid
by dn="cn=Manager,dc=bsd,dc=home" write
by * read
access to attrs=description,telephoneNumber,roomNumber,homePhone,loginShell,gecos,cn,sn,givenname
by dn="cn=Manager,dc=bsd,dc=home" write
by self write
by * read
access to attrs=cn,sambaLMPassword,sambaNTPassword,sambaPwdLastSet,sambaLogonTime,sambaLogoffTime,
sambaKickoffTime,sambaPwdCanChange,sambaPwdMustChange,sambaAcctFlags,displayName,
sambaHomePath,sambaHomeDrive,sambaLogonScript,sambaProfilePath,description,
sambaUserWorkstations,sambaPrimaryGroupSID,sambaDomainName,sambaMungedDial,
sambaBadPasswordCount,sambaBadPasswordTime,sambaPasswordHistory,
sambaLogonHours,sambaSID,sambaSIDList,sambaTrustFlags,sambaGroupType,sambaNextRid,
sambaNextGroupRid,sambaNextUserRid,sambaAlgorithmicRidBase,sambaShareName,
sambaOptionName,sambaBoolOption,sambaIntegerOption,sambaStringOption,
sambaStringListoption
by dn="cn=Manager,dc=bsd,dc=home" write
by self read
by * none
access to dn.base="dc=bsd,dc=home"
by dn="cn=Manager,dc=bsd,dc=home" write
by * none
access to dn="ou=Users,dc=bsd,dc=home"
by dn="cn=Manager,dc=bsd,dc=home" write
by * none
access to dn="ou=Groups,dc=bsd,dc=home"
by dn="cn=Manager,dc=bsd,dc=home" write
by * none
access to dn="ou=Computers,dc=bsd,dc=home"
by dn="cn=Manager,dc=bsd,dc=home" write
by * none
access to attrs=@hordePerson
by self write
by * none
access to dn.children="ou=DSA,dc=bsd,dc=home"
attrs=userPassword
by self write
by anonymous auth
by * none
access to dn.children="ou=DSA,dc=bsd,dc=home"
by self read
by * none
access to dn.children="ou=horde,dc=bsd,dc=home"
attrs=userPassword
by dn="cn=horde,ou=DSA,dc=bsd,dc=home" write
by self write
by anonymous auth
by * none
access to dn="ou=horde,dc=bsd,dc=home"
by dn="cn=horde,ou=DSA,dc=bsd,dc=home" write
by self read
by * none
access to *
by self read
by * read
Кусок содержимого базы, на пользователя testus:
dn: uid=testus,ou=Users,dc=bsd,dc=home
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: sambaSamAccount
cn: testus
sn: testus
givenName: testus
uid: testus
uidNumber: 1002
gidNumber: 513
homeDirectory: /home/testus
loginShell: /bin/tcsh
gecos: System User
userPassword: {CRYPT}IB4./y1UBLbvA
shadowLastChange: 14693
shadowMax: 45
mail: testus@bsd.home
sambaKickoffTime: 2147483647
sambaAcctFlags:
sambaSID: S-1-5-21-2664805045-1336736238-230010449-3004
sambaPwdMustChange: 0
sambaDomainName: BSD
sambaPrimaryGroupSID: S-1-5-21-2664805045-1336736238-230010449-513
Есть какие идеи как загнать maildrop и пр. переменные пользователю? или ткните в хороший мануал