quota の設定

ユーザが使用できるハードディスク容量を以下のように制限する.

softhard
mail2 GB2.4 GB
www2 GB2.4 GB

1. 準備

以下の事を確認しておく. まだ行っていない場合はここで行う.

ファイルシステムに quota 機能を加える為には, ディスクの使用制限を加えるファイルシステムに オプションとして "usrquota (ユーザに制限を加える)" を加える必要がある.

ファイルシステム /dev/sdc1 のオプションとして usrquota を付ける. /etc/fstab を以下のように編集する.

# vi /etc/fstab 
# /etc/fstab: static file system information. #
#
< file system >< mount point > < type >< options >< dump >< pass >
/dev/sda1 / ext2defaults,errors=remount-ro 0 1
proc/procprocdefaults 0 0
/dev/fd0/floppyautodefaults,user,noauto0 0
/dev/cdrom /cdrom iso9660 defaults,ro,user,noauto 0 0
/dev/sda2 /work ext2 defaults,noauto 0 2
/dev/sdb1 /bk ext2 defaults 0 2
/dev/sdb2 /work.bk ext2 defaults,noauto 0 2
/dev/sdc1 /home ext2 defaults,usrquota 0 2
/dev/sdd1 /home.bk ext2 defaults 0 2

/etc/fstab を編集後, 再起動すればシステムに反映されるが, 一度クオータの設定 を付け足した領域をアンマウントして # mount -a を実行することで即座に反映 させられる.

# unmount /home
# mount -a

2. 作業

2.1 quota の記録ファイルの作成

quota はディスク制限に関するユーザ情報を quota.user ファイルに蓄える. quota を有効にしたいディレクトリ(今回は /home) に quota.user を作成する.

# touch /home/quota.user

# chmod 600 /home/quota.user

quota をインストールしたときにデフォルトでは起動している. 上記の記録ファイルに情報を反映させるために quota を再起動する.

# /etc/init.d/quota restart 

2.2 ユーザにディスク使用制限をかける

ソフトリミット 2 G, ハードリミット2.4 G (WWW と同じ) にユーザ gate を設定する. それぞれの制限の意味を下に記述した.

ハードリミット:
ディスクの割当を直ちに停止.
ソフトリミット:
一定時間内にユーザに対処するように警告を出す. タイムリミットを過ぎてもソフトリミットを越えたままだと, ディスクの割当を停止.

gate にquota 制限をかければ, gate システムに よって他のユーザにも適用されることになる. gate ユーザの作成は ここを参照すること.

# edquota gate

vi が起動され, 以下のようなファイルが表示される. 2 行目の (soft=0, hard=0) (soft=2000000, hard=2400000)(単位は kbytes) に変更する. block か inode かどちらかに制限を加えておけばいい.

block:
使用可能なディスクの容量を制限することができる
inode:
ファイルシステム上に作成可能なファイル数を制限することができる
[変更後]
Quotas for User gate
/dev/hde2: blocks in use : xxx(現在の使用量), limits (soft=1000000, hard=1200000)
            inodes in use : xxx(現在の使用量), limits (soft=0, hard=0)

gate システムによって EP サーバに登録されたユーザはディスク制限をかけられる. もし gate システムが無い場合, 各ユーザの quota を一つずつ編集するのは かなり手間のかかる作業になってしまう. そこで複数のユーザに同じ制限をか ける場合は次のコマンドを実行する.

# edquota -p user1 user2
...

user1 のディスク制限が user2 以降のユーザにも反映される.

また、少々強引な方法だが一回で全てのユーザに制限をかけることも出来る.

$ cd /home/

# edquota -p gate `gate-user-list  stable `

2.3 ディスクの使用状態を見るコマンド

各ユーザのディスクの使用状態を見るには, 以下のようにする.

$ quota

# quota -v (ユーザ名)

引数を付けないと自分自身のディスク使用状態が表示される.

2.4 quotaの状態を見るコマンド

各ユーザにどのくらいの quotaがかかってるかを調べる場合は,

# repquota -u -a|less
■オプション
	-a     /etc/fstabに含まれる全てのファイルシステム(ユーザも含む)
	       について表示.       
	-v     全てのquota(未使用のものも含めて)を表示.
	-g     groupユーザのquotaを表示
	-u     userのquotaを表示.(デフォルト)



最終更新日: 2009/10/28(安達俊貴) Copyright © 2007 epcore