Translated message

A translation of this page exists in English.

ユーザーのプロセス数のデフォルトのソフト制限またはハード制限を設定または変更する方法

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise Linux 8
  • Red Hat Enterprise Linux 9

Issue

  • システム全体の設定ファイル /etc/security/limits.d/90-nproc.conf (RHEL5RHEL6)、/etc/security/limits.d/20-nproc.conf (RHEL7) では、デフォルトの nproc 制限が次のように指定されています。

    *            soft    nproc     1024
    root       soft    nproc     unlimited
    
  • ただし、root としてログインすると、ulimit には異なる値が表示されます。

    $ ulimit -u
    1024
    
  • ここでは、なぜ unlimited はないのでしょうか?

  • ユーザーのプロセス数のデフォルトの ソフト制限 または ハード制限 を設定または変更するにはどうすればよいですか?

Resolution

システム全体で nproc 制限を unlimited に設定するには、/etc/security/limits.d/90-nproc.conf ファイル (RHEL5RHEL6)、/etc/security/limits.d/20-nproc.conf (RHEL7 以降) を次のように記述します。

  • root ユーザーの場合:

    root       hard    nproc     unlimited
    
  • root ユーザーの場合でソフトとハード制限を指定する場合

    root       -    nproc     unlimited
    
  • または、デフォルトのドメインの場合は、次のようにソフトとハードの両方を使用します。

    *          -    nproc     unlimited
    
  • ドメインの soft 値に適用される unlimited オプションは、hard 制限を超えることはできません。より詳しい説明と例については、次の記事をご覧ください。What are my true user's ulimit limits?

  • 変更を有効にするには再度ログインしてください。

    $ ulimit -u
    
  • セッションごとに制限を設定する別のオプションとして、コマンドラインで指定します。

    $ ulimit -u unlimited
    
  • このコマンドは ソフト 制限と ハード 制限の両方に適用されます。 注意点については、リンクされているアーティクルを参照してください。

注記: RHEL5 および RHEL8 の pam では、/etc/security/limits.d の下にファイルが用意されません。必要に応じてファイルを作成します。

Root Cause

デフォルトでは、ルールは /etc/security/limits.conf ファイルから読み取られます。これらのルールの形式の詳細は、limits.conf (5) man ページを参照してください。さらに、特定のアプリケーションまたはサービス専用の個別の設定ファイルを /etc/security/limits.d ディレクトリーに作成することもできます。デフォルトでは、pam_limits モジュールは /etc/pam.d/ ディレクトリー内のいくつかのファイルに含まれています。フォーク爆弾などの悪意のあるサービス拒否攻撃を防ぐために、ユーザープロセスのデフォルトの制限が /etc/security/limits.d/90-nproc.conf ファイル (RHEL5RHEL6)、/etc/security/limits.d/20-nproc.conf (RHEL7) に定義されています。ユーザープロセスのデフォルトの制限を 50 に変更するには、このファイルの値を変更します。

注記: RHEL8 および RHEL9 には /etc/security/limits.d/20-nproc.conf のようなファイルがないため、RHEL8 および RHEL9nproc を制限する場合は、/etc/security/limits.d//etc/security/limits.d/20-nproc.conf のようなファイルを作成する必要があります。

資料: RHEL6 セキュリティーガイド、第 2 章 ネットワークの保護

Diagnostic Steps

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments