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
相关产品推荐
相关产品推荐

