问题现象
修改/etc/security/limits.conf中的nofile参数,重启主机后通过指令 ulimit -n 发现配置生效,但是通过ssh登陆到主机后发现配置没有生效
问题定位
原因一
/etc/ssh/sshd_config 文件中的配置文件缺少 UsePAM yes
由于配置文件中缺少 UsePAM yes ,导致sshd程序不会读取/etc/pam.d/sshd中的内容,进而导致sshd程序不会读取/etc/security/limits.conf所添加的配置信息
处理方法
修改sshd_config后重启sshd服务
原因二
缺少 pam_limits.so 模块(没有直接应用下面的内容或者没有通过include所在的文件间接引用以下内容)
session required pam_limits.so
pam_limits.so 模块的默认配置文件是/etc/security/limits.conf,由于没有引用此模块,所以修改/etc/security/limits.conf文件后并未生效
处理方法
在/etc/pam.d/sshd 文件中添加以下内容,或在include中的文件中添加以下内容
session required pam_limits.so
重启sshd服务
总结
在各类Linux发行版的默认配置中一般不会有这个问题,但是有一些云厂商或操作系统厂商考虑到Linux的安全问题,会进行相关程序配置文件的修改,来提升操作系统的安全性,导致此问题的发生。

1311

被折叠的 条评论
为什么被折叠?



