デフォルトでは root に対する制限は設定できない。 実は、root と同等のアカウント (UID 0 のアカウント) をこの手段によって制限することはできない。
各行には以下の形式でユーザに対する制限を記述する。
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」である。;)
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]