web-dev-qa-db-ja.com

1人のユーザーのディスク容量の使用を制限するにはどうすればよいですか?

たとえば、ユーザーjohn123の場合、使用できるハードディスクは100 MBのみです。ユーザーjake155、使用できるハードディスクは250MBのみです。

7
Riki137

ユーザーごとのハードディスクの使用を効率的に制限するために、/homeディレクトリごとに個別のパーティションを作成できます。ただし、付与されたスペースを変更したり、新しいユーザーを追加したりするのは明らかに簡単ではありません。

したがって、固定サイズのイメージをユーザー/homeのコンテナとして使用し、これらをループデバイスとして(ルートとして)マウントできます。

1 mkdir /media/users/
2 dd if=/dev/zero of=/media/users/john123.img bs=512K count=200
3 mkfs.ext4 /media/users/john123.img
4 mkdir /home/john123

検査用の:

5 mount -o loop /media/users/john123.img /home/john123

そうしたら、ユーザーjohn123を作成します。このユーザーの/home/john123には100 MBの空き容量があります。

その後、ログインの前にループデバイスをマウントする必要があります。これを/etc/fstabに追加することにより:

6 /media/users/john123.img    /home/john123    ext4    loop    0    2
7
Takkat

UNIXでそれを行う標準的な方法は、quotaコマンドを使用することです。各ユーザーが使用できるディスク容量を動的に変更できます。

manページ を参照するか、googleでチュートリアルを参照してください。

8
user13595

実行するルートは、ユーザーのホームディレクトリのサイズを制限することです。つまり、/ home/jake155を特定のサイズに制限します。通常、管理者以外のユーザーは、権限を変更しない限り、ホームディレクトリ以外にはアクセスできません。 このスレッド は、それを行うための複数の方法を説明しています。

1
Chance