解决OpenEuler系统修改句柄无效的问题

        本文测试基于OpenEuler的操作系统,比如BC-Linux。

        想要使修改文件句柄(即最大打开文件数)永久生效,通常需要编辑 /etc/security/limits.conf 文件。但可能出现修改了文件之后,并未生效的情况,下面就介绍下可能的原因。

****** 执行以下操作会导致SSH登录失败的风险,因此,在操作之前,需要确保能本地连接服务器,以备不时之需。******

        1、检查是否启用PAM 模块:在 /etc/ssh/sshd_config 文件中,UsePAM 选项设置为 yes。这表示启用 PAM(Pluggable Authentication Module,可插拔认证模块)。

        2、检查/etc/pam.d/sshd文件,是否包含pam_stack.so,具体如下所示:

auth       required     pam_stack.so service=system-auth
account    required     pam_nologin.so
account    required     pam_stack.so service=system-auth
password   required     pam_stack.so service=system-auth
session    required     pam_stack.so service=system-auth

检查/usr/lib64/security/pam_stack.so 是否存在,如果不存在,则备份/etc/pam.d/sshd文件,然后将上述内容替换为:

#%PAM-1.0
auth       required     pam_sepermit.so
auth       substack     password-auth
auth       include      postlogin
# Used with polkit to reauthorize users in remote sessions
-auth      optional     pam_reauthorize.so prepare
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    required     pam_namespace.so
session    optional     pam_keyinit.so force revoke
session    include      password-auth
session    include      postlogin
# Used with polkit to reauthorize users in remote sessions
-session   optional     pam_reauthorize.so prepare

        3、重启sshd服务:systemctl restart sshd,测试是否能正常登录。

        4、如果登录正常,则可以配置句柄,在/etc/security/limits.conf中配置如下内容:

* soft nofile 65535
* hard nofile 65535

        5、重启系统,使用命令ulimit -a或者ulimit -n查看是否生效。

        6、如果不能正常登录,则需要通过本地连接的方式,登录到服务器上,并查看/var/log/secure日志进行排查。比如上面提到的pam_stack.so文件不存在,那么重启sshd服务后,/var/log/secure日志里面会有如下错误信息:

Feb 20 15:46:54 localhost sshd[1431]: PAM unable to dlopen(/usr/lib64/security/pam_stack.so): /usr/lib64/security/pam_stack.so: cannot open shared object file: No such file or directory
Feb 20 15:46:54 localhost sshd[1431]: PAM adding faulty module: /usr/lib64/security/pam_stack.so

这就会导致无法登录的问题,当然,也可编辑 /etc/ssh/sshd_config 文件,将UsePAM 选项改为no,然后重启sshd服务,这样就恢复为修改之前的环境了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值