我在干净的 Ubuntu 13.10 安装上,刚刚安装并配置了openldap
+ samba
。我正在尝试配置域控制器和用户共享。为了简化 LDAP 管理,我还安装了gosa
和lam ( 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>