herrwamm
Рейтинг
0.00
Сила
0.02

herrwamm

Иван

avatar
Знаю об этой фишке с историей, но почему-то крайне редко ей пользуюсь.
Хотя довольно удобно — например почти каждый день я перестартовываю на домашнем компе одну и ту же службу:
service mediatomb restart

а можно вместо этого написать только
!ser

но я все равно пишу команду целиком… :)
avatar
Фух блин! Поборол я эту хрень! Пожалуй напишу небольшой мануал (если время будет) — как на Убунте из исходников LDAP правильно ставить.
Основная идея такая:
— Скомпилить BDB (5.3) (по-умолчанию)
— Скомпилить Cyrus-SASL (2.1.26) у меня было так: ./configure --libdir=/usr/lib/sasl2 --with-openssl --with-dblib=berkeley --with-ldap
— Скомпилить OpenLDAP (2.4.33) с поддержкой первых двух и openSSL. У меня примерно так (без префиксов):
./configure --enable-spasswd --with-tls=openssl --enable-slapd --with-cyrus-sasl --enable-crypt --enable-hdb=yes --enable-ppolicy --enable-valsort --enable-monitor=yes --enable-overlays --enable-syncprov --enable-rewrite=yes --enable-rwm --enable-syslog=yes --enable-accesslog --enable-auditlog --enable-modules=yes
avatar
Спасибо. С этой частью я уже разобрался. Я еще бился с клиентскими настройками. Оказалось в файле ldap.conf нужно значения отбивать табом обязательно, а то ерунда получается.
Сейчас я пришел к выводу, что я неправильно ldap компилил, поддержки SASL у меня вообще не было. Довольно запутанный процесс получается — сначала нужно скомпилить ldap затем только cyrus-sasl, а потом еще раз ldap c параметрами --with-tls=openssl --with-cyrus-sasl. Сейчас переделываю. Если получится что-то — отпишусь, может кому полезно будет.
avatar
Спасибо за ответ. Я уже собрал LDAP из исходников. Только не получается все равно подключиться по SSL. Может знаете из личного опыта, какие могут быть проблемы? Гуглеж пока особо не помог… :(

LDAP собирал так:
BerkeleyDB.5.3, OpenSSL, Cyrus-SASL
./configure --sysconfdir=/etc --libdir=/usr/lib/ldap --sbindir=/usr/sbin --localstatedir=/var/lib --prefix=/usr --libexecdir=/usr/bin --mandir=/usr/share/man --with-tls=openssl --enable-slapd --with-cyrus-sasl --enable-monitor --enable-overlays --enable-syncprov --enable-crypt --enable-relay --enable-rewrite --enable-rwm --enable-mdb --enable-bdb --enable-hdb --enable-syslog --enable-accesslog --enable-auditlog

На сервере сn=config:
olcTLSCACertificateFile: /etc/ssl/certs/ca.cert
olcTLSCertificateFile: /etc/ssl/ldap/ldap.pem
olcTLSCertificateKeyFile: /etc/ssl/ldap/ldap.pem
olcTLSCRLCheck: none
olcTLSVerifyClient: allow

У клиента .ldaprc:
BASE    dc=host,dc=net
URI     ldaps://ldap.host.net
TLS_REQCERT     never
TLS_CERT        ~/.ssl/addtest2.cert
TLS_KEY         ~/.ssl/addtest2.key
TLS_CACERT      /etc/ssl/certs/ca.cert
SASL_MECH       EXTERNAL

Подключения не происходит:
user@client1:~$ ldapwhoami -d1 -vvv -ZZZ -Y EXTERNAL -H ldaps://ldap.host.net:636
ldap_url_parse_ext(ldaps://ldap.host.net:636)
ldap_initialize( ldaps://ldap.host.netu:636/??base )
ldap_create
ldap_url_parse_ext(ldaps://ldap.host.net:636/??base)
ldap_extended_operation_s
ldap_extended_operation
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection
ldap_connect_to_host: TCP ldap.host.net:636
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Trying 192.168.18.100:636
ldap_pvt_connect: fd: 3 tm: -1 async: 0
ldap_err2string
ldap_start_tls: Can't contact LDAP server (-1)
avatar
А подскажите пожалуйста на каком дистрибутиве вы это реализовывали?
Попытался провернуть подобное на ubuntu, оказалось там ldap обрезанный из механизмов аутентификации sasl только:
supportedSASLMechanisms: DIGEST-MD5
supportedSASLMechanisms: NTLM
supportedSASLMechanisms: CRAM-MD5
Возможно придется все же из исходников ставить. Но хотелось бы знать где это можно будет сходу реализовать.