【Knox】CDP集群Knox服务集成LDAP,WEB UI登录正常,使用RestAPI无法正常访问401 Authentication failed 解决方式

问题经过

最近在使用Knox 服务集成 LDAP 后,在 Knox Web UI 界面中,使用Ldap 用户名、密码能够成功登录,但是在使用REST API 请求服务数据时,就会报401 Authentication failed 的错。
报错内容在下面。

在这里插入图片描述

请求接口

使用knox 服务请求 yarn 接口的restapi ,报错

curl -k -u "admin:admin" -XGET "https://x.x.x.x:8443/gateway/cdp-proxy-api/resourcemanager/v1/cluster/apps"

报错内容

在这里插入图片描述

解决方案

这里很奇怪,我这里web ui 使用ldap的用户名、密码能够成功登录,但是用rest 接口访问就会报错。经过排查,发现web ui 界面的认证方式和rest api 的认证方式是两套。

  • web ui 是直接ldap 认证通过即可。
  • rest api 需要 /etc/pam.d/system-auth 这个文件里面的支持。

我这里服务器是ldap 集成了sssd 服务来登录服务器。

问题原因

/etc/pam.d/system-auth 文件没有正确的集成 sssd 服务导致,rest-api 无法正常访问,具体什么原理目前还不是特别清楚,希望有知道的大佬,可以解释下。

最终方案

修改 /etc/pam.d/system-auth, 然后重启Knox 服务。

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        [default=1 success=ok] pam_localuser.so
auth        [success=done ignore=ignore default=die] pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        sufficient    pam_sss.so forward_pass
#auth        sufficient    pam_ldap.so  forward_pass
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     [default=bad success=ok user_unknown=ignore] pam_sss.so
#account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
account     required      pam_permit.so

password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    sufficient    pam_sss.so use_authtok
#password    sufficient    pam_ldap.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
-session     optional      pam_systemd.so
session     optional      pam_mkhomedir.so umask=0077
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_sss.so

问题解决!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值