我想要:
据我所见,我应该可以在/etc/security/limits.conf (或/etc/security/limits.d/* )中做到这一点:
* soft rss 64000000 * hard nofile 50000 * soft nofile 1024
但是,我可以find一种方法重新加载这些值,而不用重新启动。 我已经读过,值login时重新加载; 它适用于我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
我在sshd_config中有PAM:
/etc/ssh/sshd_config:UsePAM yes
我知道我可以使用ulimit和sysctl来设置值,但是我想testing一下/etc/security/limits.conf是否正确,而不需要重新启动。
如何确保在用户使用sshlogin而不重新启动时设置的值?
哎呀….
UseLogin是不需要的。
UsePAM yes需要的。
只有当UsePAM从no更改为yes时,才需要重新启动sshd 。
禁用我自己的~/.ssh/config是非常需要的!
我在我的~/.ssh/config有Control *语句,它重用了ssh通道,因此我不会发现这个变化。
感谢Samed Beyribey和Quanta,他们的帮助让我有了运行ssh -vv的想法,当你有Control *语句时,它会给出非常不同的输出。
我已经读过,值login时重新加载; 它适用于我
su - user但它不能通过ssh user@localhost。
原因是:默认情况下,SSH打开一个非loginshell,所以限制没有被应用。
要使用loginshell,编辑你的sshd_config文件,并取消/更改#UseLogin no UseLogin yes :
gentoo ~ # grep UseLogin /etc/ssh/sshd_config #UseLogin no gentoo ~ # sed -i.bak 's/#UseLogin no/UseLogin yes/' /etc/ssh/sshd_config gentoo ~ # grep UseLogin /etc/ssh/sshd_config UseLogin yes
重新加载sshd试。
资料来源:http: //znx.no/2011/01/ssh-and-limits/