石益红 發表於 2019-11-1 13:57:00

CentOS 6 修改/etc/security/limits.conf不生效办法

<p>我们使用CentOS系统,在部署新的服务经常会遇到 打开最大文件数限制 too many open files的警告,通常我们只需要修改/etc/security/limits.conf该文件,增加两行,重新登录下用户即可解决,如下:</p>
<pre><code>vim /etc/security/limits.conf

* soft nofile 60000
* hard nofile 65535
</code></pre>
<p>如果想要更细的控制粒度,可以在/etc/security/limits.d/90-nproc.conf对指定的用户(以testuser为例)进行限制</p>
<pre><code>vim /etc/security/limits.d/90-nproc.conf

testuser - nofile 4096   # '-' 代表soft及hard都这样进行设定
nginx    - nofile 4096
</code></pre>
<p><strong>但,当/etc/security/limits.conf修改后,任凭如何调整设置,甚至重启主机都没有生效,就要从以下几个点进行排查了:</strong></p>
<ul>
<li>
<p>1、检查/etc/ssh/sshd_config 中<strong><code>UsePAM yes</code></strong>选项是否开启</p>
</li>
<li>
<p>2、检查/etc/pam.d/system-auth 中是否存在<strong><code>session required pam_limits.so</code></strong>这一项</p>
</li>
<li>
<p>3、检查/etc/pam.d/login 中是否将pam_limits.so文件被加入到启动文件中存在<strong><code>session required /lib64/security/pam_limits.so</code></strong>这一项</p>
</li>
<li>
<p>解释(1、2):<strong><code>UsePAM yes</code></strong>选项开启后,表示启用pam模块,在/etc/pam.d/sshd中默认已存在一项<code>session    include      password-auth</code>配置,<code>include</code>表示需要<code>password-auth</code>模块需要通过认证,在/etc/pam.d/system-auth里还应该存在<strong><code>session required pam_limits.so</code></strong>这一项,表示使用/etc/security/limits.conf这个配置</p>
</li>
<li>
<p>解释(3):要让limits.conf文件配置能够生效,必须将pam_limits.so模块文件加入到启动文件中,故应在/etc/pam.d/login配置文件中添加<strong><code>session required /lib64/security/pam_limits.so</code></strong>这一项</p>
</li>
</ul>
<p>排查后重新登录一下用户就可以生效了,如果还未生效就要逐个排查/etc/pam.d下相关连的文件是否将<strong><code>session required pam_limits.so</code></strong>这一下项注释或删除了</p><br><br>
来源:https://www.cnblogs.com/ymei/p/11776582.html
頁: [1]
查看完整版本: CentOS 6 修改/etc/security/limits.conf不生效办法