Rhel

如何防止叉子炸彈?

  • August 4, 2013

為了防止分叉炸彈,我遵循了這個http://www.linuxhowtos.org/Tips%20and%20Tricks/ulimit.htm

ulimit -a反映了新設置,但是當我執行時(如rootbash:(){ :|:&};:,VM 仍然在最大 CPU+RAM 上執行,系統將凍結。

如何確保使用者不會因使用 fork 炸彈或執行有缺陷的應用程序而導致系統崩潰?

作業系統:RHEL 6.4

超級使用者或任何具有 CAP_SYS_ADMIN 或 CAP_SYS_RESOURCE 功能的程序不受該限制的影響,這不是可以更改的。root總是可以分叉程序。

root如果某些軟體不受信任,則無論如何它都不應該執行。

為了使這種變化無處不在,您需要將這些限制添加到整個環境中。使用該ulimit命令進行的更改僅針對目前環境。

**注意:**這對 root 使用者沒有影響!

例子

編輯此文件:vi /etc/security/limits.conf並向文件中添加條目,以限制nproc特定使用者或使用者組允許擁有的程序數 ( )。

vivek hard nproc 300
@student hard nproc 50
@faculty soft nproc 100
@pusers hard nproc 200

**注意:**該文件中有更多範例。小心使用“all”(又名。*),這也會限制系統帳戶。

參考

引用自:https://unix.stackexchange.com/questions/85411