ulimit POV 中的“root”与“sudo”

ulimit POV 中的“root”与“sudo”

根据其他一些问题和答案,我预计这两个命令的结果相同,但事实并非如此。

此外,从 sudo 运行一个进程,会因“打开的文件太多”而终止,而以 root 身份运行却不会。 2 之间到底有什么区别?

nati@server:/var/tmp$ sudo bash  -c "ulimit -n"
1024
nati@server:/var/tmp$ sudo su
root@server:/var/tmp# ulimit -n
32000

答案1

/etc/security/limits.conf由 所使用pam_limitssusudo、 、 等认证模块login根据PAM描述调用PAM模块。对于大多数发行版来说,这意味着在/etc/pam.d/.例如,这可能是/etc/pam.d/sudo;对于 Gentoo 来说,看起来像

auth    include         system-auth
account include         system-auth
session include         system-auth

哪里system-auth有一行像

session         required        pam_limits.so 

因此,资源限制按照 中的定义进行配置/etc/security/limits.conf

对于我的 Kali 安装,这看起来有所不同。pam_limits不为 调用sudo。显然,所有 Debian 锚都共享这个“功能”。实验/etc/security/limits.conf证实了您的观察 - 在sudo登录时我得到 1024,而我得到我在 中配置的内容limits.conf

相关内容