我目前正在尝试使用Docker开发沙箱。 Docker通过运行中的守护程序生成进程,而启用limits.conf文件中列出的限制使其适用于守护程序时,我遇到了很多麻烦。具体来说,我正在运行一个forkbomb,以便守护程序是生成所有新进程的进程。我对进行此调用的用户施加的nproc限制似乎没有得到应用,而且我一生都无法弄清楚如何使其工作。我很肯定地说,这就像将正确的文件添加到/etc/pam.d/一样简单,但是我不确定。
最佳答案
PAM限制仅适用于与PAM配合良好的过程。默认情况下,当您在容器中启动 shell 程序时,它与PAM无关,并且通过PAM设置限制就行不通了。
这是实现它的其他一些方法!
ulimit
调用。 login -f <username>
(例如login -f root
);它将使用正常的登录过程自动在计算机上登录您(并且应通过正常的PAM机制进行)。 关于daemon - 为正在运行的守护程序启用PAM配置(limits.conf),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21979137/