3.6. 配额和限制

许多类 Unix 系统都有机制来支持文件系统配额和进程资源限制。Linux 当然也包括在内。这些机制对于防止拒绝服务攻击尤其有用;通过限制每个用户可用的资源,您可以使单个用户难以耗尽所有系统资源。请注意这里的术语,因为文件系统配额和进程资源限制都有“硬”限制和“软”限制,但这些术语的含义略有不同。

您可以为每个挂载点定义存储(文件系统)配额限制,限制存储块的数量和/或可以使用的唯一文件(inodes)的数量,并且您可以为给定的用户或给定的组设置此类限制。“硬”配额限制是永远不能超过的限制,而“软”配额可以暂时超过。请参阅 quota(1)、quotactl(2) 和 quotaon(8)。

rlimit 机制支持大量的进程配额,例如文件大小、子进程数、打开文件数等等。“软”限制(也称为当前限制)和“硬限制”(也称为上限)。软限制在任何时候都不能超过,但可以通过调用将其提高到硬限制的值。请参阅 getrlimit(2)、setrlimit(2) 和 getrusage(2)、sysconf(3) 以及 ulimit(1)。请注意,有几种方法可以设置这些限制,包括 PAM 模块 pam_limits。