更新时间:2023-03-17 GMT+08:00

使用普通模式集群用户在非集群节点登录

操作场景

集群安装为普通模式时,各组件客户端不支持安全认证且无法使用kinit命令,所以集群外的节点默认无法使用集群中的用户,可能导致在这些节点访问某个组件服务端时用户鉴权失败。

如果需要在集群外节点以组件用户身份访问集群资源,管理员需为集群外节点设置同名用户可通过SSH协议登录节点的功能,并以登录操作系统用户身份连接集群各组件服务端。

前提条件

  • 集群外的节点需要与集群的业务平面是连通的。
  • 集群的KrbServer服务运行状态正常。
  • 获取集群外的节点root用户密码。
  • 集群已规划并添加“人机”用户,并获取认证凭据文件。请参见创建用户导出认证凭据文件

操作步骤

  1. root用户登录到需要添加用户的节点。
  2. 执行以下命令:

    rpm -qa | grep pamrpm -qa| grep krb5-client

    界面一共显示以下rpm包:

    pam_krb5-32bit-2.3.1-47.12.1 
    pam-modules-32bit-11-1.22.1 
    yast2-pam-2.17.3-0.5.211 
    pam-32bit-1.1.5-0.10.17 
    pam_mount-32bit-0.47-13.16.1 
    pam-config-0.79-2.5.58 
    pam_krb5-2.3.1-47.12.1 
    pam-doc-1.1.5-0.10.17 
    pam-modules-11-1.22.1 
    pam_mount-0.47-13.16.1 
    pam_ldap-184-147.20 
    pam-1.1.5-0.10.17 
    krb5-client-1.6.3     

  3. 检查操作系统实际是否已安装清单中的rpm包?

    • 是,执行5
    • 否,执行4

  4. 从操作系统镜像中获取缺少的rpm包,并上传文件到当前目录,然后执行以下命令安装rpm包:

    rpm -ivh *.rpm

    安装的RPM包可能带来安全风险,请用户对操作系统进行加固时考虑安装这些RPM包所带来的风险。

    安装完成后执行5

  5. 执行以下命令,配置pam使用Kerberos认证。

    pam-config --add --krb5

    如果需要在非集群节点取消Kerberos认证与系统用户登录,以“root”用户执行pam-config --delete --krb5命令。

  6. 解压认证凭据文件得到“krb5.conf”,并使用WinSCP将此配置文件上传到集群外节点的“/etc”目录,执行以下命令设置权限使其他用户可以访问,例如“604”:

    chmod 604 /etc/krb5.conf

  7. root用户继续在连接会话中执行以下命令为“人机”用户添加对应的操作系统用户,并指定用户主组为“root”。

    此操作系统用户密码与在Manager创建“人机”用户时设置的初始密码相同。

    useradd 用户名 -m -d /home/admin_test -g root -s /bin/bash

    例如,“人机”用户名为“admin_test”,执行以下命令:

    useradd admin_test -m -d /home/admin_test -g root -s /bin/bash

    第一次使用新添加的操作系统用户通过SSH协议登录节点时,首次输入用户密码系统提示密码过期,第二次输入用户密码后系统提示修改密码。请输入一个同时满足节点操作系统及集群密码复杂度的新密码。