You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

rackslab/slurm-web OpenLDAP用户认证失败问题求助

Slurm-web OpenLDAP认证失败问题

问题现象

配置OpenLDAP用户名密码认证后,网页登录始终提示ERROR,Authentication error: Invalid user or password,但执行/usr/libexec/slurm-web/slurm-web-ldap-check命令测试正常,可正常查询LDAP中的用户信息。

当前配置(gateway.ini)

[authentication]
enabled=yes
method=ldap

[ldap]
uri=ldap://192.169.1.225
bind_dn=cn=admin,dc=s5,dc=localdomain
bind_password=slap123
user_base=ou=People,dc=s5,dc=localdomain
group_base=ou=Group,dc=s5,dc=localdomain
user_class=posixAccount

LDAP日志流程对比

slurm-web-ldap-check 执行日志

流程:使用admin账号绑定LDAP → 搜索用户条目 → 获取用户及组信息

Jun 21 15:27:48 s5 slapd[534541]: conn=1049 fd=13 ACCEPT from IP=172.19.129.231:55372 (IP=0.0.0.0:389)
Jun 21 15:27:48 s5 slapd[534541]: conn=1049 op=0 BIND dn="cn=admin,dc=s5,dc=localdomain" method=128
Jun 21 15:27:48 s5 slapd[534541]: conn=1049 op=0 BIND dn="cn=admin,dc=s5,dc=localdomain" mech=SIMPLE bind_ssf=0 ssf=0
Jun 21 15:27:48 s5 slapd[534541]: conn=1049 op=0 RESULT tag=97 err=0 qtime=0.000054 etime=0.004250 text=
Jun 21 15:27:48 s5 slapd[534541]: conn=1049 op=1 SRCH base="ou=People,dc=s5,dc=localdomain" scope=2 deref=0 filter="(objectClass=posixAccount)"
Jun 21 15:27:48 s5 slapd[534541]: conn=1049 op=1 SRCH attr=uid
Jun 21 15:27:48 s5 slapd[534541]: conn=1049 op=1 SEARCH RESULT tag=101 err=0 qtime=0.000033 etime=0.001014 nentries=2 text=
Jun 21 15:27:48 s5 slapd[534541]: conn=1049 op=2 SRCH base="cn=hello_slurm,ou=People,dc=s5,dc=localdomain" scope=0 deref=0 filter="(objectClass=posixAccount)"
Jun 21 15:27:48 s5 slapd[534541]: conn=1049 op=2 SRCH attr=cn gidNumber
Jun 21 15:27:48 s5 slapd[534541]: conn=1049 op=2 SEARCH RESULT tag=101 err=0 qtime=0.000084 etime=0.000493 nentries=1 text=
Jun 21 15:27:48 s5 slapd[534541]: conn=1049 op=3 SRCH base="ou=Group,dc=s5,dc=localdomain" scope=2 deref=0 filter="(&(|(objectClass=posixGroup)(objectClass=groupOfNames))(|(memberUid=hslurm)(member=cn=hello_slurm,ou=people,dc=s5,dc=localdomain)(gidNumber=500)))"
Jun 21 15:27:48 s5 slapd[534541]: conn=1049 op=3 SRCH attr=cn
Jun 21 15:27:48 s5 slapd[534541]: conn=1049 op=3 SEARCH RESULT tag=101 err=0 qtime=0.000067 etime=0.000414 nentries=2 text=
Jun 21 15:27:48 s5 slapd[534541]: conn=1049 op=4 SRCH base="cn=jim_green,ou=People,dc=s5,dc=localdomain" scope=0 deref=0 filter="(objectClass=posixAccount)"
Jun 21 15:27:48 s5 slapd[534541]: conn=1049 op=4 SRCH attr=cn gidNumber
Jun 21 15:27:48 s5 slapd[534541]: conn=1049 op=4 SEARCH RESULT tag=101 err=0 qtime=0.000028 etime=0.000208 nentries=1 text=
Jun 21 15:27:48 s5 slapd[534541]: conn=1049 op=5 SRCH base="ou=Group,dc=s5,dc=localdomain" scope=2 deref=0 filter="(&(|(objectClass=posixGroup)(objectClass=groupOfNames))(|(memberUid=jgreen)(member=cn=jim_green,ou=people,dc=s5,dc=localdomain)(gidNumber=501)))"
Jun 21 15:27:48 s5 slapd[534541]: conn=1049 op=5 SRCH attr=cn
Jun 21 15:27:48 s5 slapd[534541]: conn=1049 op=5 SEARCH RESULT tag=101 err=0 qtime=0.000019 etime=0.000277 nentries=2 text=
Jun 21 15:27:48 s5 slapd[534541]: conn=1049 op=6 UNBIND
Jun 21 15:27:48 s5 slapd[534541]: conn=1049 fd=13 closed

网页登录请求日志

流程:直接使用用户输入的用户名构建DN尝试绑定,返回err=49(LDAP认证失败错误码)

Jun 21 15:29:14 s5 slapd[534541]: conn=1050 fd=13 ACCEPT from IP=172.19.129.231:60966 (IP=0.0.0.0:389)
Jun 21 15:29:14 s5 slapd[534541]: conn=1050 op=0 BIND dn="uid=jgreen,ou=People,dc=s5,dc=localdomain" method=128
Jun 21 15:29:14 s5 slapd[534541]: conn=1050 op=0 RESULT tag=97 err=49 qtime=0.000055 etime=0.000669 text=
Jun 21 15:29:14 s5 slapd[534541]: conn=1050 op=1 UNBIND
Jun 21 15:29:14 s5 slapd[534541]: conn=1050 fd=13 closed

使用的Slurm-web版本

python3-slurm-web-3.0.0-1.el9.noarch
slurm-web-agent-3.0.0-1.el9.noarch
slurm-web-gateway-3.0.0-1.el9.noarch

解决线索

  • 修正用户DN构建逻辑:从测试日志可见,LDAP中用户的RDN属性是cn(例如用户jgreen的DN是cn=jim_green,ou=People,dc=s5,dc=localdomain),但网页登录时Slurm-web默认用uid构建DN,导致绑定的DN不存在。需在[ldap]配置段添加:

    user_rdn_attribute=cn
    user_filter=(uid=%s)
    

    配置后Slurm-web会先通过admin账号搜索匹配uid的用户条目,获取正确的cn格式DN后,再用用户密码验证绑定。

  • 启用代理绑定模式:Slurm-web测试工具使用代理绑定流程(先通过admin搜索用户,再验证),而网页默认可能用直接用户绑定。可尝试在[ldap]配置段添加:

    bind_type=proxy
    
  • 验证用户绑定权限与密码:使用ldapwhoami命令手动测试用户DN绑定,确认密码正确性及LDAP是否允许普通用户绑定:

    ldapwhoami -x -D "cn=jim_green,ou=People,dc=s5,dc=localdomain" -W
    

内容的提问来源于stack exchange,提问作者emalovecode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 04:24:55