Linux中用户的进程限制

这是一个标准问题,“如何在Linux中设置用户帐户的stream程限制以防止叉车轰炸”,另外还有一个问题。 正在运行的程序起源于一个根拥有的Python进程,然后setuids / setgids自己作为一个普通用户。 据我所知,在这一点上,/etc/security/limits.conf中设置的任何限制都不适用; setuid – ed过程现在可以叉炸弹。 任何想法如何防止这一点?

你需要看看“UNIX环境下的高级编程”。 本书详细介绍了帮助您实现您所尝试的必要步骤。 从stream程克隆/分叉的任何孩子将inheritance父母的rlimits。 当我看到这个选项时,你有两个select:一个是你可以在孩子创build之后专门设置rlimits(不是很好),或者你可以做双叉魔法来创build一个新的进程组和会话首领,这将正确地inheritancerlimits在系统中设置。

由于subprocessinheritance了ulimit设置,你可以在设置uid / gid之后在python脚本中运行ulimit,创build一个新的(较低的)硬限制,这将成为所有潜在的fork-bomblets的新运行条件?