tsucchi’s diary(元はてなダイアリー)

はてなダイアリー(d.hatena.ne.jp/tsucchi1022)から移行したものです

Solaris 10 での クォータ(quota)の設定

クォータをやるには、マスタのユーザを作っちゃうのがよさげ
(シェルは /sbin/nologin とかにしとく)

たとえば、

# useradd -u 12345 -g staff -d /home/quota -s /sbin/nologin quota

みたいなかんじのユーザでいい。

あとは、/etc/vfstab の mount option(一番右)に rq というのを入れておく

#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
/dev/dsk/c1t0d0s0       /dev/rdsk/c1t0d0s0      /       ufs     1       no      rq

こんなかんじ。

で、edquota コマンドでマスタのユーザ(今回の例では quotaユーザ)にクォータの値を設定する

# edquota quota
fs / blocks (soft = 307200, hard = 409600) inodes (soft = 0, hard = 0)

あとは quotaon コマンドでクォータを有効化

# quotaon /

で、各ユーザにクォータを振るやり方ですが、たとえば、hoge ユーザと fuga ユーザに quota をかけたい場合、

# edquota -p quota hoge fuga

みたいな感じで、-p オプションを使うと、マスタの quota ユーザのクォータ設定を hoge ユーザと fuga ユーザにコピーできます。

あとは、/home を ls するなり、パスワードファイルを覗くなりして、対象ユーザに edquota するシェルを作って cron でまわすと良いと思います。ちなみに、既にクォータを設定しているユーザにさらに edquota しても問題ない(毎回上書きされる)ので、新規ユーザだけを抜き出す処理とか、しなくて平気です。

ついでに、Solaris 10 で quota する場合の注意。
Solaris 10 で / にクォータをかけると、/proc までカウントされてしまうみたいです。JDS(gnome)なんかを使っていると、/proc の使用量が結構大きい(とくに何もしなくても 100MB くらいは使うみたい)ので、 / に クォータをかける場合は要注意です。

え?なんで /export/home にパーティション切ってないかって?

だって、「もしかしたら近い将来にディスクを追加してくれるかなぁ」なんて、淡い(甘い?)期待があったからねぇ...。