FreeBSD/quota
quota †
クォータは OS の持っているオプショナルな機能であり、ファイルシステム毎にユーザやグループのメンバが使用するディスク容量やファイルの数を制限することができます。
この機能は、あるユーザやグループに割り当てられるリソースの量を制限することが望ましいようなタイムシェアリングシステムにおいてよく用いられます。
この機能を用いることによって使用可能なディスク容量の全てを一人のユーザやユーザのグループが使ってしまうことを防ぐことができます。
環境 †
FreeBSD 6.0
カーネル再構築 †
# cd /usr/src/sys/i386/conf/ # cp GENERIC MYKERNEL
■下記の一行を追加する。
options QUOTA #enable disk quotas
# config MYKERNEL # cd ../../complile/MYKERNEL # make depend;make # make install
/etc/rc.confの編集 †
■下記の2行を追加
enable_quotas="YES" #quotaの有効化 check_quotas="YES" #起動時にquotacheckを実施する。
/etc/fstabの編集 †
# Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b none swap sw 0 0 /dev/ad0s1a / ufs rw 1 1 /dev/ad0s1e /home ufs rw,userquota,groupquota 2 2 /dev/ad0s1f /usr ufs rw 2 2
リブートすると、
/home/quota.user
/home/quota.group
などの初期ファイルが生成されています。
確認 †
$ quota -v Disk quotas for user matsui (uid 1001): Filesystem usage quota limit grace files quota limit grace /home 112 100000 150000 39 0 0
このように表示されれば、設定は有効になってます。
グレースタイムとは、ソフトリミットの制限を越えてハードリミットの領域を利用できる猶予期間のことを指しています。
ソフトリミットは、そのユーザが利用できるディスクの大きさのことをいって、これを超えると警告状態となります。
この警告の状態からその限界までの利用できる大きさをハードリミットという呼び方をしているようです。
最初に1つ設定を行い、これを範囲として適用することができます。
初期設定 †
■グレースタイムの設定
# edquota -t
■ユーザhogeのquota設定
# edquota -u hoge
■ユーザのquota設定をコピーする
ユーザhogeの設定を、uid:1000から1500までに適応する。
# edquota -p hoge 1000-1500