GLPI对接Samba AD域时LDAP认证测试失败如何排查
GLPI对接Samba AD LDAP认证失败排查思路
你已经完成hosts映射配置、kinit administrator Kerberos校验、基础连通性检查的前提下,按以下顺序排查,大部分问题都能定位:
- 先核对GLPI侧LDAP配置参数,80%的无明确报错失败都是参数填错:
- 连接地址不要填IP,必须填Samba域控的完整FQDN,普通LDAP用389端口,LDAPS用636端口,开LDAPS必须勾选对应SSL选项
- 绑定DN不能只填
administrator账号名,必须写完整可识别的DN路径,格式参考CN=Administrator,CN=Users,DC=你的域前缀,DC=你的域后缀,绑定密码填对应域管理员的正确密码 - 用户搜索基准DN要和实际用户存储路径匹配,默认域用户存在
CN=Users,DC=你的域前缀,DC=你的域后缀路径下,如果自定义过用户OU,要填对应OU的完整DN
- 跳过kinit的结果,直接在GLPI服务器上用命令手动测LDAP绑定,结果最准确:
执行ldapsearch命令做绑定测试,示例:ldapsearch -x -h Samba域控FQDN -p 389 -D "完整的管理员绑定DN" -W -b "用户搜索基准DN" "(objectClass=user)" sAMAccountName
执行后输入管理员密码,如果能正常拉回域用户列表,说明LDAP服务、账号权限、网络策略都正常,问题出在GLPI本身配置;如果命令执行报错,直接根据返回的错误码就能定位是DN写错、密码错、端口不通还是权限不足 - 检查Samba域控侧的认证策略配置:
查看Samba配置文件smb.conf里的ldap server require strong auth参数,如果用389端口走非加密简单绑定,这个参数要设为no,否则Samba会直接拒绝非加密的绑定请求;如果用LDAPS加密连接,要确认Samba的服务证书、CA证书都在有效期,且CA根证书已经导入GLPI服务器的系统信任列表,更新证书缓存后再测试 - 开GLPI调试模式拿详细报错,不要看默认日志:
GLPI默认日志级别不会打印LDAP交互的详细错误,到后台「设置-系统-调试」打开调试模式,重新触发LDAP连接测试,页面会直接打印完整的LDAP交互错误信息,常见的比如凭据无效、无法连接LDAP服务、权限不足都有明确提示 - 检查GLPI运行依赖和权限:
执行php -m | grep ldap确认PHP的ldap扩展已经安装启用,没装扩展会出现无明确报错但连接失败的情况;同时确认GLPI的运行用户(通常是www-data、apache或者nginx用户)有对外访问389/636端口的权限,没有被SELinux、系统防火墙拦截

内容的提问来源于stack exchange,提问作者Franklin HOUESSINON
相关产品推荐
相关产品推荐

