GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでユーザーが実行するプロセスに制限を設定する方法

Linuxの美しさの1つは、Linuxに関するほとんどすべてを制御できることです。これにより、システム管理者は自分のシステムを細かく制御し、システムリソースをより有効に活用できます。

これを行うことを考えたことがない人もいるかもしれませんが、Linuxでは、1人のユーザーが使用できるリソースの量と期間を制限できることを知っておくことが重要です。

関連項目: Linuxで開くファイルの数の制限を増やす方法

この短いトピックでは、ユーザーが開始するプロセスの数を制限する方法と、現在の制限を確認して変更する方法を示します。

先に進む前に、指摘する必要がある2つのことがあります。

  1. ユーザー制限を変更するには、システムへのrootアクセスが必要です
  2. これらの制限を変更する場合は、細心の注意を払う必要があります

ユーザー制限を設定するには、次のファイルを編集する必要があります。

/etc/security/limits.conf

このファイルは、 ulimitを適用するために使用されます pam_moduleによって作成されました 。

このファイルの構文は次のとおりです。

<domain> <type> <item> <value>

ここでは、各オプションについて説明します。

  • ドメイン –これには、ユーザー名、グループ、GUID範囲などが含まれます
  • タイプ –ソフトとハードの制限
  • アイテム –制限されるアイテム–コアサイズ、ファイルサイズ、nprocなど
  • 価値 –これは指定された制限の値です

制限の良いサンプルは次のとおりです:

@student          hard           nproc                20

上記の行は、"student"で最大20プロセスのハード制限を設定しています グループ。

特定のプロセスの限界を確認したい場合は、単に「猫」を使用できます。 次のような制限ファイル:

# cat /proc/PID/limits

PIDの場所 は実際のプロセスIDです。psを使用してプロセスIDを確認できます。 指図。詳細な説明については、「実行中のLinuxプロセスを検索してユーザーレベルごとのプロセス制限を設定する」という記事をお読みください

例を次に示します。

# cat /proc/2497/limits
サンプル出力
Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max file size             unlimited            unlimited            bytes     
Max data size             unlimited            unlimited            bytes     
Max stack size            8388608              unlimited            bytes     
Max core file size        0                    unlimited            bytes     
Max resident set          unlimited            unlimited            bytes     
Max processes             32042                32042                processes 
Max open files            1024                 4096                 files     
Max locked memory         65536                65536                bytes     
Max address space         unlimited            unlimited            bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       32042                32042                signals   
Max msgqueue size         819200               819200               bytes     
Max nice priority         0                    0                    
Max realtime priority     0                    0                    
Max realtime timeout      unlimited            unlimited            us   

すべての行はほとんど自明です。ただし、より多くの設定を見つけたい場合は、 Limits.confに入力できます ファイルについては、こちらのマニュアルをご覧ください。

ご質問やご意見がございましたら、下のコメント欄にご遠慮なくお寄せください。


Linux
  1. Linuxでユーザーをグループに追加する方法

  2. SSHで実行中のユーザーのプロセスを表示するにはどうすればよいですか?

  3. Linuxでユーザーパスワードを設定または変更する

  1. Linuxでユーザー名を変更する方法

  2. Linuxで$Path変数を設定する方法

  3. 実行しているユーザー制限を確認するにはどうすればよいですか?

  1. Linuxでプリンタを設定する方法

  2. Linuxでユーザーパスワードを変更または設定する方法

  3. Linuxで実行中のプロセスを強制終了する方法