重新加载 /etc/security/limits.conf

Ole*_*nge 8 pam limits

我想要:

  • 为常驻内存设置一个 64GB 的软限制(因此,没有经验的用户会杀死他们的 run-amok 进程,但有经验的用户可以提高内存饥饿进程的限制)
  • 提高 nofile 的硬限制,但将软限制保持在 1024(所以如果某个程序需要更多的文件句柄,用户可以授予它们,但 run-amok 程序不会得到它们)。

据我所知,我应该能够在/etc/security/limits.conf(或/etc/security/limits.d/*)中做到这一点:

*        soft    rss             64000000
*        hard    nofile          50000
*        soft    nofile          1024
Run Code Online (Sandbox Code Playgroud)

但是,我找不到一种无需重新启动即可重新加载这些值的方法。我已经读到登录时会重新加载这些值;当我这样做时它有效,su - user但它不起作用ssh user@localhost

我在 /etc/pam.d 中有 pam_limits.so:

/etc/pam.d/login:session    required   pam_limits.so
/etc/pam.d/sshd:session    required     pam_limits.so
/etc/pam.d/su:session    required   pam_limits.so
Run Code Online (Sandbox Code Playgroud)

我在 sshd_config 中有 PAM:

/etc/ssh/sshd_config:UsePAM yes
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用ulimitand设置值sysctl,但我想测试它/etc/security/limits.conf是否在做正确的事情而无需重新启动。

当人们使用 ssh 登录而不重新启动时,如何确保设置了这些值?

Ole*_*nge 3

咕噜……

UseLogin不需要。

UsePAM yes是需要的。

仅当从 no 更改为 yessshd时才需要重新启动。UsePAM

~/.ssh/config非常需要禁用我自己的!

Control的 * 语句中~/.ssh/config重新使用了 ssh 通道,因此我不会发现更改。

感谢 Samed Beyribey 和 Quanta,他们的帮助给了我运行的想法,ssh -vv当你有 * 语句时,它会给出非常不同的输出Control