a6447 发表于 2013-10-28 18:24

sasl+ldap认证失败 err=49

本帖最后由 a6447 于 2013-10-31 14:21 编辑

我对这2个东西都不太熟悉,
通过网上抄了些配置,当然没有运行成功

================================================================
1、vim /etc/sysconf/saslauthd
SOCKETDIR=/var/run/saslauthd
MECH=ldap
FLAGS=

2、vim /etc/saslauthd.conf
ldap_servers: ldap://172.18.30.232:389
ldap_default_domain: yhcompany.com          这个选项有些不明白
ldap_search_base: ou=users,dc=yhcompany,dc=com
ldap_bind_dn: cn=Manager,dc=yhcompany,dc=com
ldap_bind_pw: '{SSHA}toBcVGWpZR48aMWVuANBdEpBQ7Fus3er'
ldap_deref: never
ldap_restart: yes
ldap_scope: sub
ldap_use_sasl: no
ldap_start_tls: no
ldap_version: 3
ldap_auth_method: bind
ldap_filter: uid=%uid
ldap_password_attr: userPassword
ldap_timeout: 10
ldap_cache_ttl: 30
ldap_cache_mem: 32768

3、vim /etc/init.d/saslauthd
其他默认设置不变
MECH=ldap
start() {
      [ -x $path ] || exit 5
      echo -n $"Starting $prog: "
      daemon $DAEMONOPTS $path -m $SOCKETDIR -a $MECH $FLAGS -O /etc/saslauthd.conf
      RETVAL=$?
      echo
      [ $RETVAL -eq 0 ] && touch $lockfile
      return $RETVAL
}
==================================================================
slapd -d 256
conn=1000 fd=12 ACCEPT from IP=172.18.21.188:48498 (IP=0.0.0.0:389)
conn=1000 op=0 BIND dn="cn=Manager,dc=yihuacomputer,dc=com" method=128
conn=1000 op=0 RESULT tag=97 err=49 text=

在执行# testsaslauthd -u 900004 -p 123456之后
1、/var/log/message只提示
Oct 28 18:20:12 desktop saslauthd: do_auth         : auth failure:

2、slapd -d 256
conn=1000 fd=12 ACCEPT from IP=172.18.21.188:48498 (IP=0.0.0.0:389)
conn=1000 op=0 BIND dn="cn=Manager,dc=yhcompany,dc=com" method=128
conn=1000 op=0 RESULT tag=97 err=49 text=

3、slapd -d 1
=> bdb_dn2id("cn=manager,dc=yhcompany,dc=com")
<= bdb_dn2id: get failed: DB_NOTFOUND: No matching key/data pair found (-30988)
===================================================================

求问:1、有没有办法设置让系统提供比较详细的log说明。
      2、配置文件哪出的问题?

py 发表于 2013-11-01 11:52

1. ldap_default_domain是制定realm,如果有你有的话。
2. BIND操作没通过,错误49一般就是你提供的credential不正确,如果是基于用户名密码的认证,就是说你提供的密码不正确。从你-d 256的错误提示上看,你没能正确提供用户“cn=Manager,dc=yhcompany,dc=com”对应的密码。

a6447 发表于 2013-11-01 14:10

本帖最后由 a6447 于 2013-11-01 14:13 编辑

密码应该不会出错,因为ldapsearch -x -H ldap://172.18.21.188:389 -D "cn=Manager,dc=yhcompany,dc=com" -w 123456 -b "cn=groups,dc=yhcompany,dc=com"的时候,是有正解数据返回的。bdb_dn2id: get failed: DB_NOTFOUND: No matching key/data pair found,不知道为什么会有这一条的提示。回复 2# py


   

py 发表于 2013-11-01 18:12

问题应该出在testsaslauthd上。DB_NOTFOUND是没找到cn=Manager,dc=yihuacomputer,dc=com这个DN,除了配置文件里,你的LDAP服务器里写了这个DN记录了吗?

我没用过testsaslauthd,现在的工作也早就不再做LDAP了,所以没有环境能试一下。

a6447 发表于 2013-11-04 15:27

如果找不到DN,那么ldapsearch -x -H ldap://172.18.21.188:389 -D "cn=Manager,dc=yhcompany,dc=com" -w 123456 -b "cn=groups,dc=yhcompany,dc=com"应该没有数据返回才对啊。回复 4# py


   

py 发表于 2013-11-04 15:49


Oct 28 18:20:12 desktop saslauthd: do_auth         : auth failure: [realm=]

你试试指定realm

a6447 发表于 2013-11-06 09:37

这两天又在忙那个puppet。
realm,我看了文档, A realm is an abstract set of users and certain mechanisms authenticate users in a certain realm.In the simplest case, a single server on a single machine, the realm might be the fully-qualified domain name of the server. If the applications don't specify a realm to SASL, most mechanisms will default to this. 对realms概念不太清楚。应该如何改realms回复 6# py


   

py 发表于 2013-11-06 12:09

回复 7# a6447

这块配置我没做过,不好乱说。sorry
   
页: [1]
查看完整版本: sasl+ldap认证失败 err=49