Mad*_*ter 6 linux redhat ulimit
我对此很头疼,我不明白为什么它不起作用。我希望有人可以阐明这一点,或者如果失败了,请给我一些调查途径的建议。
我有一个 Red Hat 7.3 系统(不要问),希望增加用户的打开文件限制wls81。我以为我只是无法控制它,但它越来越看起来好像我只遇到了我需要更改的用户的问题。我已将以下几行添加到/etc/security/limits.conf:
wls81 soft nofile 10100
wls81 hard nofile 10240
madhatta soft nofile 10100
madhatta hard nofile 10240
Run Code Online (Sandbox Code Playgroud)
pam_limits.so 据我所知,正在被正确调用:
[madhatta@server madhatta]$ sudo grep limits /etc/pam.d/*
/etc/pam.d/login:session required /lib/security/pam_limits.so
/etc/pam.d/sshd:session required /lib/security/pam_limits.so
/etc/pam.d/su:session required /lib/security/pam_limits.so
/etc/pam.d/system-auth:session required /lib/security/pam_limits.so
Run Code Online (Sandbox Code Playgroud)
当我以自己的身份 ssh 登录时,我获得了新的软限制,并且可以增加到硬限制:
desktop> ssh server
Last login: Thu May 10 13:20:13 2012 from a.b.c.d
[madhatta@server madhatta]$ ulimit -n
10100
[madhatta@server madhatta]$ ulimit -n 10200
[madhatta@server madhatta]$ ulimit -n
10200
[madhatta@server madhatta]$ ulimit -n 10300
bash: ulimit: cannot modify open files limit: Operation not permitted
Run Code Online (Sandbox Code Playgroud)
但是当我以wls81用户身份登录时,我不能:
desktop> ssh wls81@server
Last login: Wed May 9 22:29:33 2012 from a.b.c.d
[wls81@server wls81]$ ulimit -n
1024
[wls81@server wls81]$ ulimit -n 10000
bash: ulimit: cannot modify open files limit: Operation not permitted
Run Code Online (Sandbox Code Playgroud)
当我su -对每个用户时,也会发生同样的情况。老实说,我不明白为什么该用户无法ulimit重置其s。谁有想法?
好吧,谜团解开了。我发现当我这样做时,su - wls81我得到了 1024 的限制,但是当我刚刚这样做时,su wls81我得到了新的、更高的限制。事实证明,wls81.bash_profile调用了另一个脚本,该脚本又调用了系统上完全不同的用户的环境设置脚本,该脚本执行了ulimit -n 1024.
当我删除该行后,wls81 现在获得了新的限制。