LDAP+SAMBA 登录问题

LDAP+SAMBA 登录问题

我在干净的 Ubuntu 13.10 安装上,刚刚安装并配置了openldap+ samba。我正在尝试配置域控制器和用户共享。为了简化 LDAP 管理,我还安装了gosalam ( LDAP Account Manager )

当 Samba 尝试连接到 ldap 时,我遇到以下问题:

# pdbedit -L -Uadmin
smbldap_search_domain_info:正在搜索:[(&(objectClass=sambaDomain)(sambaDomainName=PBA))]
smbldap_open_connection:连接已打开
无法绑定到服务器 ldap://localhost,其中 dn="cn=admin,dc=exedra,dc=cat" 错误:凭据无效
        (未知)
连接 LDAP 服务器一次尝试失败!
smbldap_open_connection:连接已打开
无法绑定到服务器 ldap://localhost,其中 dn="cn=admin,dc=exedra,dc=cat" 错误:凭据无效
        (未知)
连接 LDAP 服务器两次尝试均失败!
smbldap_open_connection:连接已打开
无法绑定到服务器 ldap://localhost,其中 dn="cn=admin,dc=exedra,dc=cat" 错误:凭据无效
        (未知)
连接 LDAP 服务器三次尝试均失败!

这是服务器日志:

11 月 21 日 10:40:58 srv1 slapd[30707]: conn=1088 op=2 搜索结果 tag=101 err=0 nentries=0 text=
11 月 21 日 10:55:42 srv1 slapd[30707]: conn=1089 fd=29 接受来自 IP=127.0.0.1:56558 (IP=0.0.0.0:389)
11 月 21 日 10:55:42 srv1 slapd[30707]: conn=1089 op=0 BIND dn="cn=admin,dc=exedra,dc=cat" method=128
11 月 21 日 10:55:42 srv1 slapd[30707]: conn=1089 op=0 RESULT tag=97 err=49 text=
11 月 21 日 10:55:42 srv1 slapd[30707]: conn=1089 op=1 解除绑定
11 月 21 日 10:55:42 srv1 slapd[30707]: conn=1089 fd=29 关闭
11 月 21 日 10:55:43 srv1 slapd[30707]: conn=1090 fd=29 接受来自 IP=127.0.0.1:56559 (IP=0.0.0.0:389)
11 月 21 日 10:55:43 srv1 slapd[30707]: conn=1090 op=0 BIND dn="cn=admin,dc=exedra,dc=cat" method=128
11 月 21 日 10:55:43 srv1 slapd[30707]: conn=1090 op=0 RESULT tag=97 err=49 text=
11 月 21 日 10:55:43 srv1 slapd[30707]: conn=1090 op=1 解除绑定
11 月 21 日 10:55:43 srv1 slapd[30707]: conn=1090 fd=29 已关闭
11 月 21 日 10:55:44 srv1 slapd[30707]: conn=1091 fd=29 接受来自 IP=127.0.0.1:56560 (IP=0.0.0.0:389)
11 月 21 日 10:55:44 srv1 slapd[30707]: conn=1091 op=0 BIND dn="cn=admin,dc=exedra,dc=cat" method=128
11 月 21 日 10:55:44 srv1 slapd[30707]: conn=1091 op=0 RESULT tag=97 err=49 text=
11 月 21 日 10:55:44 srv1 slapd[30707]: conn=1091 op=1 解除绑定
11 月 21 日 10:55:44 srv1 slapd[30707]: conn=1091 fd=29 已关闭

如您所见,某处密码错误。看起来 samba 在针对 LDAP 进行身份验证时提供了密码,但也许不应该,因为我可以在没有密码的情况下通过 ldap 运行搜索:

ldapsearch -x -LLL -b dc=exedra,dc=cat ‘uid=admin’ -W
输入 LDAP 密码:
dn:cn=系统管理员-admin,ou=People,dc=exedra,dc=cat
对象类:顶部
对象类别:人
对象类:gosaAccount
对象类:组织人员
对象类:inetOrgPerson
对象类:sambaSamAccount
对象类:shadowAccount
对象类:posixAccount
给定名称:系统
sn:管理员
cn: 系统管理员-admin
用户ID:admin
samba域名: exedra.cat
sambaAcctFlags: [XU ]
samba主要组SID:S-1-5-21-2410480708-3229887800-873095019-21003
桑巴SID:S-1-5-21-2410480708-3229887800-873095019-41002
登录外壳:/bin/bash
家庭目录:/home/admin
uid编号:20001
gid编号:10001

但我不明白为什么我的密码是空的。在这里你可以看到与上面相同的结果,但没有使用-W选项,因此不会询问或提供密码:

ldapsearch -x -LLL -b dc=exedra,dc=cat ‘uid=admin’
dn:cn=系统管理员-admin,ou=People,dc=exedra,dc=cat
对象类:顶部
对象类别:人
对象类:gosaAccount
对象类:组织人员
对象类:inetOrgPerson
对象类:sambaSamAccount
对象类:shadowAccount
对象类:posixAccount
给定名称:系统
sn:管理员
cn: 系统管理员-admin
用户ID:admin
samba域名: exedra.cat
sambaAcctFlags: [XU ]
samba主要组SID:S-1-5-21-2410480708-3229887800-873095019-21003
桑巴SID:S-1-5-21-2410480708-3229887800-873095019-41002
登录外壳:/bin/bash
家庭目录:/home/admin
uid编号:20001
gid编号:10001

如果我在 ldapsearch 语句中提供 dn,我将被迫进行身份验证:

# ldapsearch -x -h 本地主机 -D "cn=admin,dc=exedra,dc=cat" -W
输入 LDAP 密码:
ldap_bind:服务器不愿意执行(53)
        附加信息:不允许未经身份验证的绑定(无密码的 DN)

如果我提供密码,一切都会顺利运行:
LDAP安装过程中,我为我的管理员用户设置了一个 LDAP 管理员密码,admin我使用该凭据可以毫无问题地登录 gosa 和 lam。
这看起来很奇怪,因为使用 LDAP Web 管理工具时我需要管理员密码。

额外信息

由于我是 LDAP 新手,我刚刚阅读了关注文档有一次我以为我成功安装并配置了 LDAP。我读了关注文档配置samba服务器LDAP

通过 Web 管理工具,我还设法添加了一些用户和组,没有任何问题,但尝试通过 samba 浏览时遇到了很多问题。

有人知道我哪里做错了吗?提前谢谢!

答案1

我通过运行以下命令解决了该问题:

smbpasswd -w <MyLiteralPassword>

相关内容