Linux

root 的 ulimit 不斷重置

  • February 3, 2018

使用 CentOS 6.6

/etc/security/limits.conf我設置了以下內容:

* soft nofile 65535
* hard nofile 65535
root soft nofile 65535
root hard nofile 65535

etc/security/limits.d/90-nproc.conf我設置了這個:

*          soft    nproc     65535
root       soft    nproc     unlimited
*          soft    nofile    65535
root       soft    nofile    65535
*          hard    nofile    65535
root       hard    nofile    65535

然而由於某種原因,當我註銷並以 root 身份登錄 SSH 時(使用 ssh 密鑰進行無密碼登錄):

[root@server ~]# ulimit -Hn
4096
[root@server ~]# ulimit -Sn
1024

如何使 ulimit 持久化?

原來是因為我使用的是UsePAM noin /etc/ssh/sshd_config

出於某種原因,每個線上教程都建議禁用 PAM 以禁用沒有密鑰的密碼登錄。在做了一些研究之後,這似乎是一個糟糕的建議,我不確定為什麼這麼多教程會推薦它。

禁用 PAM 後,pam_limits模組永遠不會執行,導致永遠不會從limits.conf文件中讀取限制。

引用自:https://serverfault.com/questions/895524