|
||||
Linux技術トレーニング 基本管理コース I第4章 ユーザー・グループ管理
3. quotaの設定3-1. quotaの設定
quotaとは
各ファイルシステムに対して、ユーザーごと、あるいはユーザーのグループごとに使用可能領域を制限することができます。そのことにより、ディスク領域の有効活用をユーザーに促すことができます。あるいは、誤ったプログラム処理などで、ディスク領域を異常に大量に使用してしまうなどのトラブルをさけることができます。 quotaはルートパーティション(/)に対しては設定することはできません。quotaを設定するファイルシステムは別に用意する必要があります。 quotaで制限できるのはブロック数とiノード数です。1ブロックは1KBです。 iノードとはファイルの情報を格納する領域であり通常は1ファイルにつき、1つ使用されます。 quotaにはsoftとhardの2つの制限があります。hardは絶対に超えられない値、softはその制限を越えると猶予期間に入る値です。猶予期間を経過するとそれ以上の書き込みができなくなります。 3-2. quotaの設定手順
(1) /etc/fstabの修正
/etc/fstabは、Linuxが起動する時にマウントすべきファイルシステムを識別するために参照するファイルですが、このファイル中のquotaを設定したいファイルシステムのエントリにusrquota(ユーザーのquotaの場合)やgrpquota(グループのquotaの場合)のキーワードを追加します。 LABEL=/home /home ext3 defaults, usrquota,grpquota 1 2
↑ ↑ 追加 追加/etc/fstabの変更をファイルシステムに反映させるためにはそのファイルシステムをマウントしなおす必要があります。 # /bin/umount /home # /bin/mount /home
# /sbin/quotacheck -vaug
(2) quotaファイルの作成
quotaの設定のためには該当するファイルシステムのトップディレクトリにquotaファイルが必要です。このファイルは次のコマンドで作成されます。 # /sbin/quotachek -vaug上のコマンドにより、該当ファイルシステムのトップディレクトリにquotaファイル(aquota.user, aquota.group)が作成されます。以後、このファイルに該当ファイルシステムのquota情報が自動的に収集されます。
# /usr/sbin/edquota -u foo(例)グループ miracleのquotaの設定 # /usr/sbin/edquota -g miracle
(3) quotaファイルの編集
quotaファイルに各ユーザー、各グループのquota設定を反映させますが、quotaファイルをviなどのテキストエディタで直接編集することはできません。その代わりedquotaコマンドを使います。 # /usr/sbin/edquota -u foo Disk quotas for user foo (uid 500): Filesystem blocks soft hard inodes soft hard /dev/sda5 200 300 500 51 0 0 ↑ ↑ ↑ ↑ 編集可能 編集可能edquotaを実行すると上記のような項目が表示されます。デフォルトではviエディタとして起動します。 編集できる項目はblockのsoftとhardおよびinodeのsoftとhardです。1blockは1KBの領域です。inodeはファイルの情報を格納する領域であり、通常1ファイルで1つのinodeを使います。 softとhardの意味 hardは絶対に超えることのできない制限であり、softはその値を越えると猶予期間に入るという制限です。そしてsoftの制限を越えたまま猶予期間が経過すると、それ以上の書き込みができなくなります。 猶予期間の変更# /usr/sbin/edquota -t
Grace period before enforcing soft limits for users;
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/sda5 1days 1days
↑ ↑ 編集可能 編集可能 猶予期間を変更するには、edauotaコマンドの-tオプションを使います。上記のように、Block および Inodeとそれぞれに猶予期間を設定できます。猶予期間の単位として日(days)、時間(hours)、分(minutes)、秒(seconds)が指定できます。
# /sbin/quotaon -vaug
(4) quotaの有効化
設定したquotaを有効にするためには、システムを再起動します。あるいはquotaonコマンドで有効にすることもできます。 # /sbin/quotaon -vaug /dev/sda5 [/home]: group quotas truned on /dev/sda5 [/home]: user quotas truned onquotaを無効にするにはquotaoffコマンドを使います。 # /sbin/quotaoff -vaug /dev/sda5 [/home]: group quotas truned off /dev/sda5 [/home]: user quotas truned off
# /usr/bin/quota -u foo
(5) quotaの確認
quotaの設定内容を確認するにはquotaコマンドを使います。 # /usr/bin/quota ?u foo
Disk quotas for user foo (uid 500):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda5 312* 300 500 24:00 52 0 0
| | | | soft hard soft hard ← blocks → ← inodes →上の例ではfooユーザーは/dev/sda5に対して、300 blocksのquota設定(soft)ですが現在すでに312 blocksを使っていて猶予期間に入っていることをあらわしています。 |