quota はユーザのディスク使用量に制限 (割り当て) を設けるが、ディスク使用量が制限値を超えてしまった場合でも、一時的なら許容できる値を設定できるようになっている。
以下では、alex, betty, charlie, donald, emily の 5 ユーザがアカウント登録済みという仮定で話を進める。
まず、alex に 100 MB の制限値 (割当量) と、一時的なら許容できる値 110 MB を設定する。
割り当て量の設定は edquota コマンドで行う。
- パラメータを alex として edquota コマンドを実行する。
- vi エディタが起動して alex の管理テーブルが開く。
- blocks の soft, hard 欄を下記の値に書き換え (赤字部分) て保存する。
- repquota コマンドで設定内容を確認する。
◎ quota のユーザ管理テーブル各項の意味は、左から次の通り。
Filesystem | : | ユーザのホーム ディレクトリがあるファイル システム。 つまり /home 用のパーティション が /dev/hda6 であることを示している。 |
|
blocks | : | ユーザのホーム ディレクトリが占有しているディスク容量 (消費量) 。 KB 単位。 |
soft | : | ユーザが使用できるディスク容量の制限値 (ソフト リミット)。 KB 単位。 ただし一時的 (猶予期間内) ならハード リミット (hard 設定値) までの使用が許可される。 |
hard | : | ユーザによるディスク使用量の絶対的な制限値 (ハード リミット)。 KB 単位。 ユーザのディスク使用量は、ハード リミットを超えることができない。 |
|
inodes | : | ユーザのホーム ディレクトリに登録済みのファイル数。 |
soft | : | ユーザが登録できるファイル数の制限値 (ソフト リミット)。 ただし一時的 (猶予期間内) ならハード リミット (hard 設定値) までの使用が許可される。 |
hard | : | ユーザが登録できるファイル数の絶対的な制限値 (ハード リミット)。 ユーザのファイル数は、ハード リミットを超えることができない。 |
|
※ soft, hard 欄の 0 (初期値) は、無制限を意味する。 |
◎ 猶予期間
qutoa はユーザのディスク使用量がソフト リミットを超えても、一時的なら許可 (ただしハード リミットは超えられない) する。
この一時的な期間を猶予期間 (grace time) といい、デフォルトは 7 日間となっている。 猶予期間は edquota -t で編集可能。
ソフト リミットを超えたユーザは、猶予期間内にソフト リミット以下まで削減しないと、ディスクへの新たな追加はできなくなる。 (猶予期間内であればハード リミットまで追加可能)
repquta コマンドで表示される grace time が猶予期間の設定値、grace は各ユーザがソフト リミットを超えた時の残り猶予期間。
一人のユーザ (alex) に制限値を設定した所で quota の機能をテストする。
ユーザ (alex) のホーム ディレクトリで制限値を超えるテスト ファイルを作成し、警告やエラーメッセージが出ることを確認する。
- quota が off の状態なら on にする。
- ログイン アカウントを alex に変更し、alex の public_html に移動する。
- 制限値以下 (例えば 30 MB) のテスト ファイルが正常に作成できることを確認する。
- 制限値 (ソフト リミット) を僅かに超えるテスト ファイル (例えば 101 MB) の場合、警告は表示されるが正常に作成できることを確認する。
- ハード リミットを超えるテスト ファイル (例えば 120 MB) の場合は、警告と共にエラーも表示され、ハード リミットまでのファイル サイズに調整されることを確認する。
- テスト ファイルを削除する。
- ログイン アカウントを root に戻す (alex をログ アウトする)。
quota 機能の正常性が確認できたら、alex と同様の設定を他のユーザにも適用する。
edquota コマンドの -p オプションを使うと alex の設定内容を他のユーザにもコピーできる。
- alex の設定内容 (割り当て量制限値) を他のユーザにもコピーする。
- repquota コマンドで設定 (コピー) 状況を確認する。
▼ quota のコピーは、ユーザ追加の必須項目。
新規追加したユーザには quota による制限は適用されない。
edquota -p コマンドでコピー、または新たに設定する必要あり。