ставил всё из портов! опищу процесс
установки:
ставил как в доке написано сначала
сасл без ldapa
root[/usr/ports/security/cyrus-sasl2]#>make install clean
он сказал всё ок!
следом ldap+sasl
root[/usr/ports/net/openldap22-sasl-server]#>make WITH_BDB_VER=43
WITH_SASL=yes install
грит тоже всё пучком
теперь ldapdb
root[/usr/ports/security/cyrus-sasl2-ldapdb]#>make install clean
он мне вот такое сказал, когда make делал
configure: WARNING: Disabling SASL authentication database support
запускаем ldap
sh /usr/local/etc/rc.d/slapd.sh start
.30 (Apr 25 2006 16:32:06) $
ччч@xxx.ru:/usr/ports/net/openldap22-sasl-server/work/openldap-2.2.30/servers/
slapd
Apr 25 16:39:55 xxx slapd[89353]: auxpropfunc error invalid parameter
supplied
Apr 25 16:39:55 xxx kernel: Apr 25 16:39:55 xxx slapd[89353]:
auxpropfunc error invalid parameter supplied
Apr 25 16:39:55 xxx slapd[89353]: _sasl_plugin_load failed on
sasl_auxprop_plug_init for plugin: ldapdb
Apr 25 16:39:55 xxx kernel: Apr 25 16:39:55 xxx slapd[89353]:
_sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: ldapdb
т.е он грит что sasl собран без подержки
ldap!? правильно понимаю?!
как исправить оную ошибку?!
просьба не предлогать в качестве
метода SASLAUTHD
pwcheck_method: saslauthd
хочеться через auxprop->ldapdb (уже из
принципа!)
--
---
c уважением s.romanov
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
[...]
> Apr 25 16:39:55 xxx slapd[89353]: auxpropfunc error invalid parameter
> supplied
> Apr 25 16:39:55 xxx kernel: Apr 25 16:39:55 xxx slapd[89353]:
> auxpropfunc error invalid parameter supplied
> Apr 25 16:39:55 xxx slapd[89353]: _sasl_plugin_load failed on
> sasl_auxprop_plug_init for plugin: ldapdb
> Apr 25 16:39:55 xxx kernel: Apr 25 16:39:55 xxx slapd[89353]:
> _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: ldapdb
судя по этому куску, slapd как раз собран с поддержкой sasl.
на старте он пытается загрузить либу sasl, которая, в свою очередь,
пытается лезть в ldapdb (а его еще нет, slapd только стартует).
--
mccloud@
добавлю свои 20 копеек.
насколько понимаю, тот плагин ldapdb.c, что идет с cyrus-sasl2, растет из
/usr/ports/net/openldap22-server/work/openldap-2.2.30/contrib/ldapsasl/.
у второго есть README. вам нужно в него посмотреть. ;)
/swp
that is sent to syslog by slapd, you can stop it by creating /usr/lib/sasl2/
slapd.conf with:
auxprop_plugin: slapd
which will force the SASL library to ignore all other auxprop modules.
т.е если вас смущает данная ошибка в sysloge, то вы можете остановить это
добавив в... sasl при этом игнорирует все модули, кроме slapd
добовляем
root[/usr/local/etc]#>cat /usr/lib/sasl2/slapd.conf
auxprop_plugin: slapd
перегружаем ldap смотрим
Apr 27 10:30:37 ччч slapd[1245]: auxpropfunc error invalid parameter supplied
Apr 27 10:30:37 ччч kernel: Apr 27 10:30:37 ччч slapd[1245]: auxpropfunc error
invalid parameter supplied
Apr 27 10:30:37 ччч slapd[1245]: _sasl_plugin_load failed on
sasl_auxprop_plug_init for plugin: ldapdb
Apr 27 10:30:37 ччч kernel: Apr 27 10:30:37 ччч slapd[1245]: _sasl_plugin_load
failed on sasl_auxprop_plug_init for plugin: ldapdb
:(((((
если я правильно понял ошибка не критична?! верно?
--
mccloud@
шикарное сравнение :))))
но как быть?!
---
c уважением s.romanov
--
варианты такие:
1)
отключить ldapdb для slapd.
в /usr/local/lib/sasl2/slapd.conf
pwcheck_method: auxprop
2)
собрать slapd вообще без sasl (sasl для него клиентом будет)
ни одно ни другое я не пробовал, это чистые домыслы.
идея в том, чтоб получить стандартную схему:
клиент->sasllib->db(т.е. slapd)
--
mccloud@
AV> варианты такие:
AV> 1)
AV> отключить ldapdb для slapd.
AV> в /usr/local/lib/sasl2/slapd.conf
AV> pwcheck_method: auxprop
сначало было без этой строки не работало, ещё раз попробовал не работает! :((
AV> 2)
AV> собрать slapd вообще без sasl (sasl для него клиентом будет)
AV> ни одно ни другое я не пробовал, это чистые домыслы.
AV> идея в том, чтоб получить стандартную схему:
AV> клиент->sasllib->db(т.е. slapd)
так если я правильно понял собираем так
root[/usr/ports/net/openldap22-server]#>make WITH_BDB_VER=43 WITH_SASL=no
WITH_PERL=yes install
пересобрал только ldap
запускаю: такая же ругань :((
может фишка в том что не правильно слинкованы библиотеки??
root[/usr/ports/net/openldap22-server]#>ldd /usr/local/libexec/slapd
20:02
/usr/local/libexec/slapd:
libldap_r-2.2.so.7 => /usr/local/lib/libldap_r-2.2.so.7 (0x2814c000)
liblber-2.2.so.7 => /usr/local/lib/liblber-2.2.so.7 (0x2817f000)
libdb-4.3.so.0 => /usr/local/lib/libdb-4.3.so.0 (0x2818b000)
libperl.so => /usr/local/lib/perl5/5.8.8/mach/CORE/libperl.so
(0x28256000)
libm.so.4 => /lib/libm.so.4 (0x28355000)
libutil.so.5 => /lib/libutil.so.5 (0x2836b000)
libsasl2.so.2 => /usr/local/lib/libsasl2.so.2 (0x28377000)
libcrypto.so.3 => /usr/local/lib/libcrypto.so.3 (0x2838b000)
libssl.so.3 => /usr/local/lib/libssl.so.3 (0x2847b000)
libfetch.so.4 => /usr/lib/libfetch.so.4 (0x28542000)
libcom_err.so.3 => /usr/lib/libcom_err.so.3 (0x2854e000)
libcrypt.so.3 => /lib/libcrypt.so.3 (0x28550000)
libwrap.so.4 => /usr/lib/libwrap.so.4 (0x28568000)
libpthread.so.2 => /usr/lib/libpthread.so.2 (0x2856f000)
libc.so.6 => /lib/libc.so.6 (0x28594000)
libssl.so.4 => /usr/lib/libssl.so.4 (0x2866b000)
libcrypto.so.4 => /lib/libcrypto.so.4 (0x28699000)
что-то я невижу тут никакого ldapdb?! так должно быть?!
вот это листинг ещё приведу
root[/usr/ports/net/openldap22-server]#>ldd /usr/local/lib/sasl2/libldapdb.so
20:04
/usr/local/lib/sasl2/libldapdb.so:
libldap-2.2.so.7 => /usr/local/lib/libldap-2.2.so.7 (0x28153000)
liblber-2.2.so.7 => /usr/local/lib/liblber-2.2.so.7 (0x28180000)
libc.so.6 => /lib/libc.so.6 (0x28077000)
libsasl2.so.2 => /usr/local/lib/libsasl2.so.2 (0x2818c000)
libcrypto.so.3 => /usr/local/lib/libcrypto.so.3 (0x281a0000)
libssl.so.3 => /usr/local/lib/libssl.so.3 (0x28290000)
make config еще стоит попробовать, я не помню точно, но возможно
этот порт еще и в опциях что-то запоминает.
> пересобрал только ldap
> запускаю: такая же ругань :((
> может фишка в том что не правильно слинкованы библиотеки??
[...]
> libm.so.4 => /lib/libm.so.4 (0x28355000)
> libutil.so.5 => /lib/libutil.so.5 (0x2836b000)
> libsasl2.so.2 => /usr/local/lib/libsasl2.so.2 (0x28377000)
^^^^^^^^^^^^^
и вот он тут опять
--
mccloud@
теперь нам надо настроить клиента!? ок
клиент будет он
cyrus-imapd-2.2.13_1 The cyrus mail server, supporting POP3 and IMAP4
тут можете смело кидать в меня шапки! честно скажу с этим зверем впервые
сталкнулся!
imapd.conf
sasl_log_level: 9
sasl_pwcheck_method: auxprop
sasl_auxprop_plugin: ldapdb ????тут верно понимаю
ldapdb_id: mta
ldapdb_pw: 1234509876
ldapdb_uri: ldapi://
ldapdb_mech: EXTERNAL
#configdirectory: /var/imap по идеи эта строка не нужна, но без не не стартует
говорит master[91478]: configdirectory option not specified in configuration
file
#partition-default: /var/spool/imap
ass8bit: yes
defaultdomain: xxx.ru
lmtp_downcase_rcpt: yes
unix_group_enable: no
virtdomains: yes
servername: xxx.ru
allowanonymouslogin: no
allowplaintext: yes
quotawarn: 90
timeout: 30
imapidlepoll: 60
imapidresponse: no
poptimeout: 10
popminpoll: 0
admins: admin ad...@xxx.ru
autocreatequota: 0
plaintextloginpause: 1
singleinstancestore: yes
reject8bit: no
sieveusehomedir: false
sievedir: /var/imap/sieve
annotation_db: skiplist
duplicate_db: berkeley-nosync
mboxlist_db: skiplist
ptscache_db: berkeley
seenstate_db: skiplist
subscription_db: flat
tlscache_db: berkeley-nosync
по поводу этого ldapdb_mech: EXTERNAL заметка
v slapd.conf
password-hash {CLEARTEXT}
sasl-authz-policy to
sasl-regexp uidNumber=(.*)\\+gidNumber=(.*),cn=peercred,cn=external,
cn=auth
ldap:///dc=xxx,dc=xx,dc=ru??sub?(&(uidNumber=$1)
(gidNumber=$2))
sasl-regexp uid=(.*@.*),cn=external,cn=auth
ldap:///dc=xxx,dc=xx,dc=ru??sub?(&(mailBox=$1)
(status=enabled))
запускаем imap он гад ломиться к sasldb
Apr 27 20:57:37 ччч ctl_cyrusdb[91507]: DBERROR db4: /var/imap/db/__db.001:
No such file or directory
Apr 27 20:57:37 ччч master[91506]: unable to create imap listener socket:
Address already in use
Apr 27 20:57:37 ччч kernel: Apr 27 20:57:37 ччч ctl_cyrusdb[91507]: DBERROR
db4: /var/imap/db/__db.001: No such file or directory
Apr 27 20:57:37 ччч kernel: Apr 27 20:57:37 ччч master[91506]: unable to
create imap listener socket: Address already in use
поверните меня пожалуйста в правильную сторону!
> ldapdb_mech: EXTERNAL
> #configdirectory: /var/imap по идеи эта строка не нужна, но без не не стартует
нужна.
> #partition-default: /var/spool/imap
это тоже раскоментить.
[...]
> запускаем imap он гад ломиться к sasldb
> Apr 27 20:57:37 ччч ctl_cyrusdb[91507]: DBERROR db4: /var/imap/db/__db.001:
> No such file or directory
> Apr 27 20:57:37 ччч master[91506]: unable to create imap listener socket:
> Address already in use
> Apr 27 20:57:37 ччч kernel: Apr 27 20:57:37 ччч ctl_cyrusdb[91507]: DBERROR
> db4: /var/imap/db/__db.001: No such file or directory
> Apr 27 20:57:37 ччч kernel: Apr 27 20:57:37 ччч master[91506]: unable to
> create imap listener socket: Address already in use
не похоже, чтоб он куда-то ломился, их там два наверное запущено...
Address already in use -- кто-то уже слушает его порты?
что в cyrus.conf?
--
mccloud@
AV>> #partition-default: /var/spool/imap
AV> это тоже раскоментить.
раскоментил
AV> [...]
AV>> запускаем imap он гад ломиться к sasldb
AV>> Apr 27 20:57:37 ччч ctl_cyrusdb[91507]: DBERROR db4: /var/imap/db/__db.
001:
AV>> Apr 27 20:57:37 ччч kernel: Apr 27 20:57:37 ччч master[91506]: unable to
AV>> create imap listener socket: Address already in use
AV> не похоже, чтоб он куда-то ломился, их там два наверное запущено...
AV> Address already in use -- кто-то уже слушает его порты?
Огромнейшее извинение, всё время забываю про эту гадость
portsentry-1.1 Port scan detection and active defense
AV> что в cyrus.conf?
его не трогал по умолчанию конф!
внёс изменения, стартовал imapd
root[/usr/local/etc]#>ps -ax|grep master
79938 p1 S+ 0:00,04 /usr/local/cyrus/bin/master -D
и..... опять эта грёбаная ошибка
Apr 28 09:10:11 ччч kernel: Apr 28 09:10:11 ччч imap[79912]: executed
Apr 28 09:10:11 ччч imap[79912]: auxpropfunc error invalid parameter supplied
Apr 28 09:10:11 ччч kernel: Apr 28 09:10:11 ччч imap[79912]: auxpropfunc error
invalid parameter supplied
Apr 28 09:10:11 ччч imap[79912]: _sasl_plugin_load failed on
sasl_auxprop_plug_init for plugin: ldapdb
Apr 28 09:10:11 ччч kernel: Apr 28 09:10:11 ччч imap[79912]: _sasl_plugin_load
failed on sasl_auxprop_plug_init for plugin: ldapdb
Apr 28 09:10:11 ччч imap[79912]: IOERROR: creating directory /var/imap:
Permission denied
Apr 28 09:10:11 ччч kernel: Apr 28 09:10:11 ччч imap[79912]: IOERROR: creating
directory /var/imap: Permission denied
Apr 28 09:10:11 ччч imap[79912]: DBERROR: opening /var/imap: cyrusdb error
Apr 28 09:10:11 ччч kernel: Apr 28 09:10:11 ччч imap[79912]: DBERROR: opening
/var/imap: cyrusdb error
еще раз пересобрал ldapdb
root[/usr/ports/security/cyrus-sasl2-ldapdb]#>make
он вот такое сказал
configure: WARNING: Disabling SASL authentication database support
......
checking LDAPDB... enabled
checking ldap.h usability... yes
checking ldap.h presence... yes
checking for ldap.h... yes
.....
перестортовал slapd и imap
ситуация не изменилась _sasl_plugin_load failed on :(((
> 79134 ?? Is 0:00,00 /usr/local/libexec/slapd -4 -h ldap:/// ldapi:/// -u
> ldap -g ldap
> он весит на 389 порту и ждёт когда к ниму кто-нибудь обратиться
ну это нормально.
> invalid parameter supplied
> Apr 28 09:10:11 ччч imap[79912]: _sasl_plugin_load failed on
> sasl_auxprop_plug_init for plugin: ldapdb
> Apr 28 09:10:11 ччч kernel: Apr 28 09:10:11 ччч imap[79912]: _sasl_plugin_load
ну вот скорее всего потому, что она не знает куда лезть (см. выше).
> Apr 28 09:10:11 ччч imap[79912]: IOERROR: creating directory /var/imap:
> Permission denied
> Apr 28 09:10:11 ччч kernel: Apr 28 09:10:11 ччч imap[79912]: IOERROR: creating
>
> directory /var/imap: Permission denied
> Apr 28 09:10:11 ччч imap[79912]: DBERROR: opening /var/imap: cyrusdb error
> Apr 28 09:10:11 ччч kernel: Apr 28 09:10:11 ччч imap[79912]: DBERROR: opening
> /var/imap: cyrusdb error
и вот этот финальный блок -- полная фигня. цирруса тошнит.
/var/imap и /var/spool/imap созданы mkimap'ом по доке?
--
mccloud@
/usr/local/lib/sasl2/slapd.conf
pwcheck_method: auxprop
auxprop_plugin: slapd
> перегружаем ldap смотрим
> Apr 27 10:30:37 ччч slapd[1245]: auxpropfunc error invalid parameter supplied
> Apr 27 10:30:37 ччч kernel: Apr 27 10:30:37 ччч slapd[1245]: auxpropfunc error
>
> invalid parameter supplied
> Apr 27 10:30:37 ччч slapd[1245]: _sasl_plugin_load failed on
> sasl_auxprop_plug_init for plugin: ldapdb
> Apr 27 10:30:37 ччч kernel: Apr 27 10:30:37 ччч slapd[1245]: _sasl_plugin_load
>
> failed on sasl_auxprop_plug_init for plugin: ldapdb
>
> :(((((
> если я правильно понял ошибка не критична?! верно?
>
давай еще раз ;) если я правильно понимаю, то тебе хочется аутентификации
slapd посредством ldapdb, то бишь чтобы он брал пользователей и их пароли
из своей же базы. но slapd использует для аутентификации sasl (и насколько
я понимаю сборка без sasl-а если и возможна, то должна обламывать версию 3
протокола, для которой авторизация через sasl, afaik, есть требование
обязательное. поэтому собирать без sasl, опять же imho, не есть правильно).
sasl имеет модуль ldapdb, который вроде как должен быть решением, но у него
написано...
-----------------------------------------------------------------------
Note: this plugin is not for use with slapd itself. When OpenLDAP is
built with SASL support, slapd uses its own internal auxprop module.
By default, without configuring anything else, slapd will fail to load
the ldapdb module when it's present. This is as it should be. If you
don't like the "auxpropfunc: error -7" message that is sent to syslog
by slapd, you can stop it by creating /usr/lib/sasl2/slapd.conf with:
auxprop_plugin: slapd
which will force the SASL library to ignore all other auxprop modules.
-----------------------------------------------------------------------
итого
1. этот плагин не для использования самим slapd.
2. slapd имеет свою собственную внутреннюю реализацию метода auxprop,
которая не может грузить ldapdb.
3. обрати внимание на последнее предложение.
If you
don't like the "auxpropfunc: error -7" message that is sent to syslog
by slapd, you can stop it by creating /usr/lib/sasl2/slapd.conf with:
(если не правится ругань sasl-а, то вы можете прекратить это написав так)
auxprop_plugin: slapd
which will force the SASL library to ignore all other auxprop modules.
(что будет принуждать sasl игнорирывать все ДРУГИЕ auxprop модули)
openldap-2.2.30/servers/slapd
# grep sasl *.c | grep slapd
...
sasl.c: sasl_auxprop_add_plugin( "slapd", slap_auxprop_init );
...
можно попробовать сделать вывод, что внутри slapd есть (помимо
реализации auxprop) еще и sasl auxprop plugin с именем slapd.
ps
у меня пароли {CRYPT}, что делает механизмы auxprop бесполезными.
/swp
S: * OK чччч.ru Cyrus IMAP4 v2.2.13 server ready
C: C01 CAPABILITY
S: * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ MAILBOX-REFERRALS NAMESPACE
UIDPLUS ID NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY SORT
THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE IDLE AUTH=NTLM
AUTH=GSSAPI
AUTH=DIGEST-MD5 AUTH=CRAM-MD5 SASL-IR
S: C01 OK Completed
C: A01 AUTHENTICATE DIGEST-MD5
S: +
ююююююююююююююю
S1zZXNz
Please enter your password:
C:
юююююююююююююююююююююююююююююю
S: A01 NO user not found
Authentication failed. generic failure
Security strength factor: 128
смотрим что в логах
Apr 28 15:38:44 utyos master[11725]: about to exec /usr/local/cyrus/bin/imapd
Apr 28 15:38:44 utyos kernel: Apr 28 15:38:44 utyos master[11725]: about to
exec /usr/local/cyrus/bin/imapd
Apr 28 15:38:44 utyos imap[11725]: DBERROR: reading /var/imap/db/skipstamp,
assuming the worst: No such file or directory
Apr 28 15:38:44 utyos kernel: Apr 28 15:38:44 utyos imap[11725]: DBERROR:
reading /var/imap/db/skipstamp, assuming the worst: No such file or directory
Apr 28 15:38:44 utyos imap[11725]: executed
Apr 28 15:38:44 utyos kernel: Apr 28 15:38:44 utyos imap[11725]: executed
Apr 28 15:38:44 utyos imap[11725]: skiplist: recovered /var/imap/mailboxes.db
(0 records, 144 bytes) in 0 seconds
Apr 28 15:38:44 utyos kernel: Apr 28 15:38:44 utyos imap[11725]: skiplist:
recovered /var/imap/mailboxes.db (0 records, 144 bytes) in 0 seconds
Apr 28 15:38:44 utyos imap[11725]: skiplist: recovered /var/imap/annotations.
db (0 records, 144 bytes) in 0 seconds
Apr 28 15:38:44 utyos kernel: Apr 28 15:38:44 utyos imap[11725]: skiplist:
recovered /var/imap/annotations.db (0 records, 144 bytes) in 0 seconds
Apr 28 15:38:44 utyos imap[11725]: accepted connection
Apr 28 15:38:44 utyos kernel: Apr 28 15:38:44 utyos imap[11725]: accepted
connection
Apr 28 15:38:44 utyos imap[11725]: OTP unavailable because can't read/write
key database /etc/opiekeys: Permission denied
Apr 28 15:38:44 utyos kernel: Apr 28 15:38:44 utyos imap[11725]: OTP
unavailable because can't read/write key database /etc/opiekeys: Permission
denied
Apr 28 15:38:44 utyos imap[11725]: DIGEST-MD5 server step 1
Apr 28 15:38:44 utyos kernel: Apr 28 15:38:44 utyos imap[11725]: DIGEST-MD5
server step 1
Apr 28 15:38:44 utyos imtest: DIGEST-MD5 client step 2
Apr 28 15:38:44 utyos kernel: Apr 28 15:38:44 utyos imtest: DIGEST-MD5 client
step 2
Apr 28 15:38:46 utyos imtest: DIGEST-MD5 client step 2
Apr 28 15:38:46 utyos imap[11725]: DIGEST-MD5 server step 2
Apr 28 15:38:46 utyos kernel: Apr 28 15:38:46 utyos imtest: DIGEST-MD5 client
step 2
Apr 28 15:38:46 utyos kernel: Apr 28 15:38:46 utyos imap[11725]: DIGEST-MD5
server step 2
Apr 28 15:38:46 utyos imap[11725]: no secret in database
Apr 28 15:38:46 utyos kernel: Apr 28 15:38:46 utyos imap[11725]: no secret in
database
Apr 28 15:38:46 utyos imap[11725]: badlogin: localhost [127.0.0.1] DIGEST-MD5
[SASL(-13): user not found: no secret in database]
Apr 28 15:38:46 utyos kernel: Apr 28 15:38:46 utyos imap[11725]: badlogin:
localhost [127.0.0.1] DIGEST-MD5 [SASL(-13): user not found: no secret in
database]
т.е. он хочет создать одноразовые пароли, но ему нет досту /etc/opiekeys
обьясните пожалуйста как тут должен работать механизм аунтефикации??(как он
использует одноразовые пароли)
напмню настройки imapd
sasl_pwcheck_method: auxprop
sasl_auxprop_plugin: ldapdb
sasl_ldapdb_uri: ldapi://ччч.чч.ru
sasl_ldapdb_mech: EXTERNAL
password-hash {CLEARTEXT}
sasl-authz-policy to
sasl-regexp uidNumber=(.*)\\+gidNumber=(.*),cn=peercred,cn=external,cn=auth
ldap:///dc=чччч,dc=чч,dc=ru??sub?(&(uidNumber=$1)(gidNumber=$2))
sasl-regexp uid=(.*@.*),cn=external,cn=auth
ldap:///dc=чччч,dc=чч,dc=ru??sub?(&(mailBox=$1)(status=enabled))
sasl-regexp uid=(.*),cn=external,cn=auth
ldap:///dc=ччч,dc=чч,dc=ru??sub?(|(cn=$1)(&(mailBox=$1@ччч.ru)
(status=enabled)))
---
c уважением s.romanov
bm9uY2U9IlZoNWZHc2Y3M0QyUTNSeG1nRis4K3Z4RlB5UDE5MmZaekdSNEgrQ1JUbkk9IixyZWFsbT
0
dXNlcm5hbWU9ImFkbWluQHV0eW9zLnVsLnJ1IixyZWFsbT0idXR5b3MudWwucnUiLG5vbmNlPSJWaD
V
--
> напмню настройки imapd
> sasl_pwcheck_method: auxprop
> sasl_auxprop_plugin: ldapdb
> sasl_ldapdb_uri: ldapi://ччч.чч.ru
> sasl_ldapdb_mech: EXTERNAL
>
>
> password-hash {CLEARTEXT}
> sasl-authz-policy to
> sasl-regexp uidNumber=(.*)\\+gidNumber=(.*),cn=peercred,cn=external,cn=auth
> ldap:///dc=чччч,dc=чч,dc=ru??sub?(&(uidNumber=$1)(gidNumber=$2))
> sasl-regexp uid=(.*@.*),cn=external,cn=auth
> ldap:///dc=чччч,dc=чч,dc=ru??sub?(&(mailBox=$1)(status=enabled))
> sasl-regexp uid=(.*),cn=external,cn=auth
> ldap:///dc=ччч,dc=чч,dc=ru??sub?(|(cn=$1)(&(mailBox=$1@ччч.ru)
> (status=enabled)))
насчет этого -- я не знаю что тут должно быть. не пользую я ldapdb.
вообще, если всё корректно, то saslpasswd2 -c username должен создавать
юзера, а sasldblistusers2 должен потом его показать. если это работает,
можно переходить к cyrus-imap и тестировать с ним.
--
mccloud@
в ldap-e (я так не хочу усложнять)
mitrohin a.s.
"у меня пароли {CRYPT}, что делает механизмы auxprop бесполезными. "
можете вот тут сказать как у вас построено!? у меня вот этот кусок не работает
root[/usr/local/etc]#>cat openldap/slapd.conf|grep password-hash
password-hash {CLEARTEXT}
т.е пароли должны лежать в открытом виде:
"Для применения способа идентификации CRAM-MD5 необходимо, чтобы у сервера был
доступ к паролю в текстовом виде (т.е. должна быть установлена опция защиты
пароля none, что означает хранение пароля в незашифрованном виде и возможность
его получения в текстовом формате с помощью операции поиска), и чтобы значение
QRETSVRSEC (сохранение данных защиты сервера) было равным 1 (Сохранять данные
). Клиент отправляет серверу значение DN. Сервер извлекает значение атрибута
userPassword для записи и генерирует случайную строку. Затем эта случайная
строка передается клиенту. После этого и клиент и сервер хэшируют эту
случайную строку, используя пароль в качестве ключа, а затем клиент передает
полученный результат серверу. Если хэшированные строки совпадают, то запрос на
подключение считается успешным, причем пароль серверу не передается."
т.е root[/usr/local/etc]#>ldapsearch -x -D "cn=admin,dc=ччч,dc=чч,dc=ru" -W
должен нам показать пароль в открытом виде, а он
# admin@ччч.чч.ru, ччч.чч.ru
dn: mailBox=admin@ччч.чч.ru,dc=ччч,dc=чч,dc=ru
mailBox: admin@ччч.чч.ru
status: enabled
objectClass: mailAccount
userPassword:: MTIzNDU2
а он этого шифрует!!!!(должно быть 123456)
я что-то не понимаю?!
---
c уважением s.romanov
если внимательно присмотреться, то после userPassword стоит '::' а не ':'.
это признак того, что данные завернуты в base64. вытащить в нормальный вид
такие поля можно так.
echo -n "MTIzNDU2" | mmencode -u | iconv -f utf-8
в общем случае смотреть надо описание формата ldif.
/swp
On Sat, Apr 29, 2006 at 07:22:15AM +0000, Sergei Romanov wrote:
> т.е пароли должны лежать в открытом виде:
> "Для применения способа идентификации CRAM-MD5 необходимо, чтобы у сервера был
sasl, не поддерживает shared-secret, afair.
> userPassword:: MTIzNDU2
echo "MTIzNDU2" | b64decore -r
> а он этого шифрует!!!!(должно быть 123456)
нет.
> я что-то не понимаю?!
userPassword_::_ -- указание на то, что данные в base64.
By.
Dmitriy
v imapd.conf
sasl_auxprop_plugin: ldapdb
sasl_ldapdb_uri: ldap://xxx.xx.ru
#sasl_ldapdb_id: mta
#sasl_ldapdb_pw: MTIzNDUwOTg3Ng==
sasl_ldapdb_mech: external
sasl_ldap_search_base: dc=xxx,dc=xx,dc=ru # though not listed, seem
sasl_ldap_filter: uid=%U
v slapd.conf
....
password-hash {CLEARTEXT}
sasl-authz-policy to
sasl-regexp uidNumber=(.*)\\+gidNumber=(.*),cn=peercred,cn=external,
cn=auth
ldap:///dc=xxx,dc=xx,dc=ru??sub?(&(uidNumber=$1)
(gidNumber=$2))
sasl-regexp uid=(.*@.*),cn=external,cn=auth
ldap:///dc=xxx,dc=xx,dc=ru??sub?(&(mailBox=$1)
(status=enabled))
sasl-regexp uid=(.*),cn=external,cn=auth
ldap:///dc=xxx,dc=xx,dc=ru??sub?(|(cn=$1)
(&(mailBox=$1...@xxx.xx.ru)(status=enabled)))
ну и запись в ldap
dn: cn=cyrus,dc=xxxx,dc=xx,dc=ru
cn: cyrus
sn: cyrus
uid: cyrus
homeDirectory: /usr/local/cyrus
objectClass: person
objectClass: posixAccount
saslAuthzTo: dn.regex:mailbox=.*
saslAuthzTo: dn.regex:cn=.*,dc=xxxx,dc=xx,dc=ru
saslAuthzTo: dn.regex:uid=.*,cn=external,cn=auth
uidNumber: 60
gidNumber: 60
dn: cn=mta,dc=xxxx,dc=xx,dc=ru
cn: mta
sn: mta
uid: mailnull
userPassword: 1234509876
homeDirectory: /var/spool/mqueue
objectClass: person
objectClass: posixAccount
saslAuthzTo: dn.regex:mailbox=.*
saslAuthzTo: dn.regex:cn=.*,dc=xxxx,dc=xx,dc=ru
saslAuthzTo: dn.regex:uid=.*,cn=external,cn=auth
uidNumber: 26
gidNumber: 6
при проверки начинает рыскать в базе
imtest -a koc@чччч.чч.ru
но грит
Apr 29 20:47:27 ччч kernel: Apr 29 20:47:27 ччч imapd/imap[58290]: badlogin:
localhost [127.0.0.1] NTLM [SASL(-13): user not found: no secret in database]
я понимаю что истина где-то близко, но где??
S: * OK utyos.ul.ru Cyrus IMAP4 v2.3.3 server ready
C: C01 CAPABILITY
S: * CAPABILITY IMAP4 IMAP4rev1 ACL RIGHTS=kxte QUOTA LITERAL+ MAILBOX-
REFERRALS NAMESPACE UIDPLUS ID NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND
BINARY SORT THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE CATENATE IDLE
STARTTLS AUTH=NTLM AUTH=GSSAPI AUTH=OTP AUTH=DIGEST-MD5 AUTH=CRAM-MD5 SASL-IR
URLAUTH
S: C01 OK Completed
C: A01 AUTHENTICATE DIGEST-MD5
S: +
S1zZXNz
Please enter your password:
C:
b25zZT1mMjJhNDliYmNhYzZjMTBhZjFhOGRjY2I4NTRhYTFjYQ==
S: + cnNwYXV0aD1jZmZmZDI5MjJiYjU4OTQ0YmRkYTExMmFjNWM0NDY3NQ==
C:
S: A01 OK Success (privacy protection)
Authenticated.
Security strength factor: 128
УРА!!!!!!!!
ВСЕМ ОГРОМНОЕ СПАСИБО!!!
кстати вот кому надо:
http://docs.biostat.wustl.edu/openldap-servers/guide.html
On Sat, Apr 29, 2006 at 04:24:44PM +0000, Sergei Romanov wrote:
> DK> sasl, не поддерживает shared-secret, afair.
> т.е пароли в базе надо хранить как-то по другому например DIGEST-MD5??
Упс. Это я про saslauthd.
By.
Dmitriy