KingbaseES V8R6集群运维案例之---securecmdd工具usePAM配置
案例说明:
默认在部署securecmdd工具后,在配置文件securecmdd_config中配置参数usePAM=yes,在有的系统主机环境,会导致securecmd客户端连接失败。
适用版本:
KingbaseES V8R6
操作系统:
一、问题现象
通过securecmd客户端连接securecmdd服务端,连接失败(包括kingbase和root用户)。
二、问题分析
1、查看securecmdd相关文件属性
1)查看kingbase和root用户宿主目录属主及权限
2)查看kingbase 和 root用户宿主目录下文件信息
[kingbase@node101 bin]$ ls -l ~/.es/
total 8
-rw------- 1 kingbase kingbase 381 Apr 3 16:32 accept_hosts
-rw------- 1 kingbase kingbase 1675 Apr 3 16:32 key_file
3)检查securecmdd配置i文件属主及权限
[root@node101 ~]# ls -lh /etc/.kes/
total 8.0K
drwxr-xr-x 2 root root 6 Apr 3 16:32 empty
-rwxr-xr-x 1 root root 326 Apr 3 16:32 securecmd_config
-rwxr-xr-x 1 root root 614 Apr 3 16:32 securecmdd_config
--- 以上文件属性配置没有发现异常。
2、securecmdd服务启动debug模式
1)启动securecmdd
[root@node101 ~]# /home/kingbase/cluster/securecmdd/bin/sys_securecmdd -D -ddd
如下图所示,securecmdd服务启动到debug模式:
2)客户端建立连接测试
---如上图所示,客户端连接中出现PAM认证失败问题。
---如上图所示,服务端debug日志信息。
3、检查securecmdd配置文件
[root@node101 ~]# cat /etc/.kes/securecmdd_config
如下图所示,在配置文件中使用了PAM认证(usePAM=yes):
三、问题解决
对于启用PAM认证问题,可以通过两种方案解决;
- 配置usePAM=no,不使用PAM认证。
- 使用usePAM=yes,但需要配置/etc/pam.d/sshd文件,如下图所示:
本案例采用了,配置usePAM=no后,重启securecmdd服务后,问题解决。
如下图所示,客户端可以正常连接securecmdd服务:
四、总结
对于usePAM=yes的配置,会影响到sshd及securecmdd服务的连接,相关具体资料可以查看网上关于PAM认证的介绍。
PAM(插入式验证模块(Pluggable Authentication Module,PAM))
简单来说,就是提供了一组身份验证、密码验证的统一抽象接口,应用程序员可以使用这些API接口来实现与安全性相关的功能,例如:
- 用户验证
- 数据加密
- LDAP
PAM 模块的基本流程:
PAM 模块是按模块类型归类的。任何给定的模块至少要实现四种模块类型功能之一:
- 验证模块(auth): 用于验证用户或设置/销毁凭证
- 帐户管理模块(account): 将执行与访问、帐户及凭证有效期、密码限制/规则等有关的操作
- 会话管理模块(session): 用于初始化和终止会话。
- 密码管理模块(password)将执行与密码更改/更新有关的操作