LIMITS(5) | FreeBSD File Formats Manual | LIMITS(5) |
名前
limits -リソース制限の定義説明
limits ファイル (デフォルトでは /etc/limits。あるいは config.h で定義した LIMITS_FILE) には、設定したいリソース制限を記述する。このファイルは root が所有し、 root アカウントのみが読み込み可能とするべきである.デフォルトでは root に対する制限は設定できない。実は、root と同等のアカウント (UID 0 のアカウント) をこの手段によって制限することはできない。
各行には以下の形式でユーザに対する制限を記述する。
user LIMITS_STRING
LIMITS_STRING はリソース制限の定義を連結させた文字列である。各制限の定義は、1 文字の識別子と、それに続く制限数値からなる。
有効な識別子は以下の通り。
A: アドレス空間の最大値 (KB)
C: コアファイルサイズの最大値 (KB)
D: データサイズの最大値 (KB)
F: ファイルサイズの最大値 (KB)
M: メモリ上にロックできるアドレス空間の最大値 (KB)
N: ファイルオープン数の最大値
R: レジデントセットサイズの最大値 (KB)
S: スタックサイズの最大値 (KB)
T: CPU 時間の最大値 (分)
U: プロセス数の最大値
K: umask(2) により設定される、ファイル作成時の mask
L: このユーザの同時ログイン数の最大値
P: setpriority(2) によって設定されるプロセス優先度
例えば、 L2D2048N5 は正しい LIMITS_STRING である。以下の 2 つの例は等価である。2 番目のように読み易く書くこともできる。
username L2D2048N5
username L2 D2048 N5
username 以降の行の残りが制限用の文字列として扱われるので、コメントは書くことができない。 login プログラムは、正しくない制限文字列は拒絶する (無視する)。
デフォルトのエントリは、ユーザ名が " *"となっているものである。 LIMITS_FILE に複数の デフォルトを登録すると、最後のものがデフォルト指定として使用される。
あるユーザへの制限を完全に無効にするには、シングルダッシュ " -"を使用する。
さらに、全ての制限の設定は「ログイン単位」で設定されていることに注意すること。制限はグローバルではなく、永続的でもない。グローバルな制限はいずれ可能になるだろうが、今のところは「TO DO」である。;)