Rhel
如何防止叉子炸彈?
為了防止分叉炸彈,我遵循了這個http://www.linuxhowtos.org/Tips%20and%20Tricks/ulimit.htm
ulimit -a
反映了新設置,但是當我執行時(如root
中bash
):(){ :|:&};:
,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”(又名。
*
),這也會限制系統帳戶。參考