quota設定に関して色々記載します。
/etc/vfstabのオプションカラムにrqオプションを付加し、quotaを掛けるファイルシステムのトップディレクトリにquotasファイルを作成するだけです。
quotaを掛けるファイルシステムにオプションrqを付けます。
# vi /etc/vfstab --- /dev/dsk/c0t0d0s7 /dev/rdsk/c0t0d0s7 /export/home ufs 2 yes rq
quotasファイルを作成し、リブートします。起動時に/etc/rc2.d/S01MOUNTFSYSによりquota機能が有効になります。
# cd /export/home # touch quotas # chmod 600 quotas # init 6 --- Checking UFS quotas:
あとは、ユーザ毎にquota設定をしていきます。設定する際に重要なポイントは、soft limitサイズとhard limitサイズの値です。
soft limitは、このサイズ(Kbyte単位)を越えるとタイマーが起動し、timeleftが経過するまでは書込みが可能です。つまりリミットを超過しても、猶予期間が与えられると言うことですね。猶予期間はデフォルトでは1週間(変更可)です。猶予期間が経過した後は、超過したファイルを削除しなければ書き込みできません。
また、hard limitは絶対に越える事は出来ません。
edquotaコマンドでquota設定をします。blocksの単位はKByteです。
# edquota <user name> --- fs /export/home blocks (soft = 10, hard = 10) inodes (soft = 0, hard = 0)
あるユーザのquota情報をコピーして設定したい場合。
# edquota -p <雛型ユーザ> <user name> # edquota -p tempuser user1
時間の設定を行いたい場合。キーワードは、month, week, day, hour, min, secです。
# edquota -t --- fs /export/home blocks time limit = 5 min, files time limit = 0 (default)
quota設定内容を確認します。
# quota -v user1 --- Disk quotas for user1 (uid 100): Filesystem usage quota limit timeleft files quota limit timeleft /export/home 2 10 10 2 0 0 # repquota -v -a --- /dev/dsk/c0t0d0s7 (/export/home): Block limits File limits User used soft hard timeleft used soft hard timeleft user1 -- 2 10 10 0 0 0 user2 -- 0 10 10 0 0 0 // 超過した例 /dev/dsk/c0t0d0s7 (/export/home): Block limits File limits User used soft hard timeleft used soft hard timeleft user1 +- 162 10 1000 7.0 days 0 0 0
quotaonコマンドとquotaoffコマンドでquotaを有効・無効に出来ます。
有効。
# quotaon -v /export/home --- /export/home: quotas turned on
無効。
# quotaoff -v /export/home --- /export/home: quotas turned off
soft limitもhard limitも値を0に設定すれば、あるユーザだけquotaを無効に出来ます。
blocks (soft = 0, hard = 0) のようにして、無制限に設定する。
# edquota user1 --- fs /export/home blocks (soft = 0, hard = 0) inodes (soft = 0, hard = 0)