有可能防止 forkbomb 吗?
我不希望非 root 用户使用 forkbomb 杀死我的机器
答案1
您可以在 Linux 系统上设置用户特定的进程限制setrlimit()
。例如,如果您使用的是 Ubuntu,则可以在/etc/security/limits.conf
答案2
在 Ubuntu(或启用了 PAM 模块 pam_limits 的任何其他发行版)中,您可以限制用户可以拥有的进程数量。您可以通过编辑/etc/security/limits.conf。
例如,为了限制进程数量(最多 20 个进程),用户“foo”和组“bar”可以添加
foo hard nproc 20
@bar hard nproc 20
您也可以通过ulimit
或 来执行此操作setrlimit
。
答案3
除了另外两个涉及系统范围限制的答案(vtorhonen 和 hrnt)之外,我还补充说,在 bash 下,您可以使用内置命令限制进程数ulimit
:
ulimit -u N
其中N
是可以使用这个 shell 生成的进程的数量。
这对您可能有效,因为您只针对恶意用户设置限制。