はーい。みなさまお待ちかねの Linux Tips のお時間だよ~♪
…って誰も待ってるわけないか。
てなわけで、今宵も自分用のメモ代りに書きつづることにしまーす。
今日のお題は quota 。
quota っていうのは窓サーバ2003とかにも付いているあの、
クォータのことね。そう。ユーザー毎にディスクの使用量を
制限する機能です。
みんなで1台のファイルサーバーを使っている時、たまに
ゲームとか「美しい女性の写真」とか、なんでもかんでも
サーバーにアップロードしてHDDを大量消費してしまう
「お行儀の悪い」ユーザーが居るものです。
HDDの空きが残り少くなって困って不要ファイルの削除
のお願いとかをしてもみんな「どれも大事なファイル」
だと云うので、整理するのはなかなか大変。
でも、「大事なファイル」って大抵、「ゴルフの写真」
とか「今はめったにやらないゲーム」とかだったりして
全然大事でなかったりするんだよね。。管理者はつらい!
そこで、こんな状態になるまえに、各自が使える容量を
設定してしまいましょう、というのが quota です。
て、ことで quota の設定方法。
やってみると以外に簡単です。いちどお試しあれ。。
quota は「パーティション」毎に設定できるようになって
います。たいていは /home とかを別パーティションに
します。
が、「まさか今日の日が来るなんて。。」とな~んにも
考えずに Linux をインストールした人は、 / 以下が
まるまる1個のパーティンションになっている人も多い
とおもうので、今回は / (つまりルートパーティション)
に設定してみます。
まずは、なにはなくとも root になりましょう。
$ su -
Password:
#
無事 root に変身したら、つぎは /etc/fstab を書き変えます。
vi でも emacs でも好きなの使ってね。。とにかく、マウント
オプション usrquota を追加。
<変更前 (/etc/fstab の1行目)>
LABEL=/ / ext3 defaults 1 1
<変更後 (/etc/fstab の1行目)>
/dev/hda1 / ext3 defaults,usrquota 1 1
注意するのは LABEL を外すこと。そのままだと quotachk が
うまく動かないことがあるので、実際のデバイス名に置き換えて
おきます。
デバイス名が判らない場合は
# fdisk -l
とかで HDD のパーティション一覧が出るのでこれを眺めていれば
いつか判る日がくるでしょう。。
お次ぎは、設定したマウントオプションを有効にするため
パーティションをリマウント。
# mount -o remount /
次は quota が使用する設定ファイルの準備。
quota は Version 1 と 2 があり、設定ファイル名が異り
ます。
Version 1 ... quota.user quota.group
Version 2 ... aquota.user aquota.group
てことで、設定ファイルを作成。これはファイルシステムの
マウントポイントに作成しましょう。今の例だと / です。
# touch /aquota.user /aquota.group
パーミッションは 600 にします。
# chmod 600 /aquota.*
で、現状のHDD使用量 を スキャンして上記のファイルに
書き込むため、 quotacheck コマンドを起動します。
-g は忘れてもいいけど、 -m は忘れちゃだめよ。。
# quotacheck -vmaug
待つことしばし、さっきの /aquota.* に内容が書きこまれます。
中身はバイナリなので、cat とかでは見られません。
いよいよお楽しみ。HDD 使用量の制限設定です。
ユーザー hoge の HDD 使用量を 制限するには、
# edquota -u hoge
と入力すると、vi が立ち上がって設定画面がでて来るので
soft とか hard とかをいじって好きなサイズにします。
ちなみにここが 0 だと無制限という意味です。
ユーザー foo も hoge と同じ設定にしたいなら、
# edquota -p hoge -u foo
で、hoge の設定内容が foo にコピーされます。
同じ設定のユーザーがた~くさん居る時は、例えばユーザー名
を userlist.txt に書いておいて
for f in `cat userlist.txt`
do
edquota -p hoge -u $f
done
とやればいっぱつでおーけーです。
ここまで準備ができたらあとは quota の起動です。
# quotaon -a
ちなみに、この時「カーネルが 設定ファイルの
フォーマットをサポートしてまへ~ん。」
みたいなエラーが出た場合は、設定ファイル名を
/quota.user /quota.group
という名前で作り直してみるとうまくいくことがあります。
基本的に 2.4 以後のカーネルなら quota には対応しているようです。
ユーザーからあんまり不平が出てやっぱやーめた、
という場合には
# quotaoff -a
で quota が停止します。
やってみると以外に簡単ですぅ~♪
Linux の設定はなかなかハマリやすかったりしますが、しょーもない
パスルやゲームやるより、よっぽど楽しくてタメになります。
れっつとらいりなっくす!