3.6. Quota と リソースの制限

Unix ライクなシステムの多くは、ファイルシステムの割り当て制限(quota)とプロセス のリソース制限を行なう機能を持っています。 もちろん Linux も持っています。 この仕組みはサービス拒否攻撃を防ぐのに特に役立ちます。各ユーザが利用できる リソースを制限することで、単独ユーザがシステム全体のリソースを食い尽くしにくく できます。 この機能には、「ハードな制限」(hard limit)と「ソフトな制限」(soft limit)両方 の意味があり、多少意味が異なるので、注意が必要です。

記憶装置(ファイルシステム)の割り当て制限は、マウントポイント毎に設定が可能で、 特定のユーザやグループがそこで使用できるブロック数やファイル数(inode数)に 制限をかけられます。 「ハードな」ものが制限を越えることができないのに対して、「ソフトな」ものは 一時的に制限を越えることが許されています。 quota(1)、quotactl(2)、quotaon(8)を参照してください。

rlimit は、プロセスに対する数々の割り当て制限を実現する仕組みで、ファイル サイズや子プロセス数、オープンできるファイル数等を扱えます。 「ソフトな」制限(現状の制限(current limit)とも言う)と「ハードな制限」 (上限(upper limit)とも言う)があります。 ソフトな制限を超えることは決してできませんが、システムコールによってハード の上限までもっていくことができます。 getrlimit(2)や setrlimit(2)、getrusage(2)、sysconf(3)、ulimit(1)を参照して ください。 制限をかける方法がいくつかあることに注意してください。PAM モジュールである pam_limits もその 1 つです。