欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/
问题现象
当 OCP-Agent 2.4.0 及以上版本运行在 redhat、centos、alios 7 等 Linux 操作系统时,
- 添加主机,子任务失败且日志包含 sudo: pam_open_session: Permission denied 报错信息。
- 部署集群,子任务失败且日志包含 sudo: pam_open_session: Permission denied 报错信息。
- 部署 OBProxy ,某些子任务失败且日志包含 sudo: pam_open_session: Permission denied 报错信息。
可能原因
系统中所配置的 Session 类型的 PAM 模块在验证相关状态时失败,可能原因如下:
- 验证 sudo 权限时失败: /etc/sudoers 文件未给相关用户配置充足的权限。
- 验证系统资源限制的配置时失败: ulimit 命令或 /etc/security/limits.conf 文件配置了不合理的系统资源限制。
解决方法
当无法判断具体原因时,可依次尝试如下方法解决问题。
- 当原因为验证 sudo 权限时失败时,执行如下操作给予相关用户充足的 sudo 权限。
- 使用 root 用户登录操作系统。
- 打开 /etc/sudoers 文件:
- vim /etc/sudoers
- 修改 root 与 admin 用户的权限,并保存文件:
- root ALL=(ALL) ALLadmin ALL=(ALL) ALL
- 重启 OCP-Agent:
- /home/admin/ocp_agent/bin/ocp_agentctl restart
- 当原因为验证系统资源限制的配置时失败时,可按如下两种方案进行操作。
- 执行如下操作修改系统资源限制配置。
- 使用 root 用户登录操作系统。
- 查看内核允许的进程最大打开文件数。
- cat /proc/sys/fs/nr_open
- 进入 /etc/security/limits.conf文件,配置小于/proc/sys/fs/nr_open的文件打开数限制:
- # 假设655360小于/proc/sys/fs/nr_opencat >> /etc/security/limits.conf <<EOF* soft nofile 655360* hard nofile 655360EOF
- 重启 OCP-Agent:
- /home/admin/ocp_agent/bin/ocp_agentctl restart
- 执行如下操作移除 PAM 在 session 中对系统资源限制的验证 。
- 执行如下操作修改系统资源限制配置。
注意
- 此方法将移除 PAM 在 session 中对系统资源限制的验证,可能引入安全风险。
- 此方法将在 debian/ubuntu 系统上使 ulimit 的配置不生效。
- 使用 root 用户登录操作系统。
- 打开 PAM 配置文件:
- vim /etc/pam.d/sudo
- 将以下行删除,并保存文件:
- session required pam_limits.so
- 重启 OCP-Agent:
export PYTHONPATH=/home/admin/ocp_agent/libs && cd /home/admin/ocp_agent && ./ocp_agent
欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




