BrainCore Asked: 2010-03-13 00:40:01 +0800 CST2010-03-13 00:40:01 +0800 CST 2010-03-13 00:40:01 +0800 CST Linux中用户的进程限制 772 这是一个标准问题,“如何在 Linux 中为用户帐户设置进程限制以防止分叉炸弹”,还有一个额外的转折。正在运行的程序起源于 root 拥有的 Python 进程,然后 setuids/setgids 本身作为普通用户。据我所知,此时 /etc/security/limits.conf 中设置的任何限制都不适用;setuid-ed 进程现在可能会分叉炸弹。任何想法如何防止这种情况? linux security python process limits 2 个回答 Voted Justin 2010-03-13T02:23:57+08:002010-03-13T02:23:57+08:00 您需要查看“UNIX 环境中的高级编程”。本书详细介绍了帮助您实现您正在尝试的目标的必要步骤。从进程克隆/派生的任何子进程都将继承父进程的 rlimits。正如我所看到的,您在这里有两个选项:一个您可以在创建孩子之后专门设置 rlimits(不是那么好),或者您可以使用双叉魔法来创建一个新的进程组和会话负责人,它将正确继承 rlimits在系统中设置。 Matt Simmons 2010-03-13T01:25:35+08:002010-03-13T01:25:35+08:00 由于子进程继承了 ulimit 设置,您能否在设置 uid/gid 后在 python 脚本中运行 ulimit,创建一个新的(下)硬限制,这将成为所有潜在 fork-bomblets 的新运行条件?
您需要查看“UNIX 环境中的高级编程”。本书详细介绍了帮助您实现您正在尝试的目标的必要步骤。从进程克隆/派生的任何子进程都将继承父进程的 rlimits。正如我所看到的,您在这里有两个选项:一个您可以在创建孩子之后专门设置 rlimits(不是那么好),或者您可以使用双叉魔法来创建一个新的进程组和会话负责人,它将正确继承 rlimits在系统中设置。
由于子进程继承了 ulimit 设置,您能否在设置 uid/gid 后在 python 脚本中运行 ulimit,创建一个新的(下)硬限制,这将成为所有潜在 fork-bomblets 的新运行条件?