fork bomb,即fork 炸弹,记得之前有一个调侃docker的视频里面就提到了这是docker的一个缺点,其实就是一种恶意程序,就是一个不断fork进程的无限循环,fork bomb并不需要有特别的权限即可对系统造成破坏,由于程序是递归的,如果没有任何限制,该程序就会迅速耗尽系统里面的所有资源。
最简单的forb bomb是这样的:
:() { :|:& };: |
或者:
.() { .|.& };. |
由于默认情况下,bash处于非POSIX模式,因此fork炸弹里面的(:)就会优先当成一个函数进行匹配。
有没有办法扼制这种情况的发生呢?答案是肯定的,只需要修改用户limits数即可。