LDAP

Установка (Debian)

First, ldap had been installed with saslauth

sudo apt-get install sasl2-bin

saslauth autostart enabled in /etc/default/saslauthd. Also, auth mechanism switched to LDAP. Full config looks like

saslauth
START=yes
DESC="SASL Authentication Daemon"
NAME="saslauthd"
MECHANISMS="ldap"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/run/saslauthd
#OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"

SLAPD

Также был поставлен slapd:

apt-get install slapd
dpkg-reconfigure -plow slapd

Забиты следующие данные:

  • DNS name: a1-content.ru
  • Organization Name: Adviator
  • Adm PAssword *
  • Database backend to use: HDB
  • Remove when purge? : NO
  • Remove old data? : YES
  • Allow LDAP2? : NO
  • ServerName: srv10436
Added slapd.conf

добавил, как указано https://wiki.debian.org/LDAP/OpenLDAPSetup

Это было сделано зря: потратил 2 часа, чтобы понять, что с ним корректно не заработает

Дальше не захотел делать в консоли, добавил LAM: http://pro-ldap.ru/art/vereschagin/20110621/

Как оказалось, после добавления

slapd.conf
index	objectClass			eq,pres
index	ou,cn,sn,mail,givenName		eq,pres,sub
index	uidNumber,gidNumber,memberUid	eq,pres
index	loginShell			eq,pres
index	uniqueMember			eq,pres
index   uid				pres,sub,eq
index	displayName			pres,sub,eq
index	sambaSID			eq
index	sambaPrimaryGroupSID		eq
index	sambaDomainName			eq
index	default				sub

, надо было сделать индекс:

service slapd stop
slapindex
chown openldap:openldap /var/lib/ldap/*
service slapd start

Индексировалось. Однако, через SASL не биндится. Если в /etc/saslauthd.conf

ldap_servers: ldap://srv10436.a1-content.ru:389
# ldaps://srv10436.a1-content.ru
ldap_search_base:	ou=accounts,dc=a1-content,dc=ru
# To login using Username (UID), enable:
# ldap_filter: (uid=%u)
# To login using email, enable:
# ldap_filter: (mail=%u)
# Another option is to support both simultaneously:
ldap_filter: (|(uid=%u)(mail=%u))
# See http://blog.toxa.de/archives/493

# ldap_use_sasl: yes
# ldap_bind_dn: cn=admin,dc=a1-content,dc=ru
# ldap_bind_pw: 'password'
# ldap_mech: DIGEST_MD5
# ldap_auth_method: fastbind

раскомментировать ldap_bind_dn и ldap_bind_pw, то тест не проходит:

testsaslauthd -u test -p 'pass' 

в случае с комментированными строками дает 0: OK “Success.”, то в общем случае дает 0: NO “authentication failed” Инструкцичя проверки бинда в лдап:

Если беру cn=admin,dc=a1…, то все проходит как положено. Если даже говорю “использовать сасл”

ldapsearch -H ldap://127.0.0.1 -D cn=admin,dc=a1-content,dc=ru -W

то после ввода пароля оно отдает все корректно… пока не выставлю ldap_bind_dn и ldap_bind_pw в /etc/saslauthd.conf

Тут https://wiki.debian.org/LDAP/LDAPUtils пишут (внизу), что у меня не настроен SASL:

ldapsearch -b dc=a1-content,dc=ru -x 

отдает корректно,

ldapsearch -b dc=a1-content,dc=ru 

просит пароль, но никакой пероль его не берет

Поставил LAM (LDAP Account Manager)

Слепил еще одного юзера 'authuser'. В LAM (ip:8480/lam/) изменил его RDN Identifier с UID на cn. Выставил заново пароль. В tree view для этого юзера показывает DN: cn=authuser,ou=accounts,dc=a1-content,dc=ru

И теперь для не-админа “authuser”

ldapsearch -H ldap://127.0.0.1 -D cn=authuser,ou=accounts,dc=a1-content,dc=ru -W 
(вслепую пароль)

оно отдает директорию. То есть биндится с другим юзером.

Вставляю данные в /etc/saslauth.conf и

УРА! Оно биндится!

В /etc/saslauthd.conf раскомментируем ldap_bind_dn и ldap_bind_pw

Пробуем:

service saslauthd restart
testsaslauthd -u test -p 'pass' 
0: OK "Success."

То есть saslauth биндится в лдапу

adv/srv10436/ldap.txt · Last modified: 2015/12/06 18:18 by rybario
About this template
CC Attribution-Share Alike 4.0 International
Powered by PHP Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Valid HTML5