一、添加一块硬盘并格式化挂载
zhang@PC01:~$ sudo mount -o usrquota /dev/sdb1 test/ #只针对用户操作
zhang@PC01:~$ sudo vim /etc/fstab
/dev/sdb1 /home/zhang/test ext3 defaults,usrquota 0 0
二、创建记录用户操作的数据库
zhang@PC01:~$ sudo quotacheck -cu /dev/sdb1 #仅针对用户
zhang@PC01:~$ ls test/
aquota.user lost+found
或
zhang@PC01:~$ sudo quotacheck -cu /home/zhang/test/
zhang@PC01:~$ ls /home/zhang/test/
aquota.user
三、启用磁盘配额
zhang@PC01:~$ sudo quotaon -u /dev/sdb1 #quotaoff关闭
或
zhang@PC01:~$ sudo quotaon -u /home/zhang/test/
四、设置对用户做限制
zhang@PC01:~$ sudo edquota -u zhang
Disk quotas for user zhang (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 0 102400 204800 0 0 0
blocks:文件的大小,说明已经有多大的文件是属于用户zhang的
soft:创建文件大小的软限制(单位:k)
hard:创建文件大小的硬限制(单位:k)
inodes:文件的个数
soft:可以创建文件个数的软限制
hard:可以创建文件个数的硬限制
五、测试(限制了用户zhang软限制为100M,硬限制为200M)
#写入file1文件100M成功
zhang@PC01:~/test$ dd if=/dev/zero of=file1 bs=1M count=100
记录了100+0 的读入
记录了100+0 的写出
104857600 bytes (105 MB, 100 MiB) copied, 0.135178 s, 776 MB/s
zhang@PC01:~/test$ ls -lh
总用量 101M
-rw------- 1 root root 7.0K 2月 23 20:40 aquota.user
-rw-r--r-- 1 zhang zhang 100M 2月 23 20:57 file1
#写入file2文件200M失败,仅写入100M
zhang@PC01:~/test$ dd if=/dev/zero of=file2 bs=1M count=200
dd: 写入'file2' 出错: 超出磁盘限额
记录了100+0 的读入
记录了99+0 的写出
104644608 bytes (105 MB, 100 MiB) copied, 0.128728 s, 813 MB/s
zhang@PC01:~/test$ ls -lh
总用量 201M
-rw------- 1 root root 7.0K 2月 23 20:40 aquota.user
-rw-r--r-- 1 zhang zhang 100M 2月 23 20:57 file1
-rw-r--r-- 1 zhang zhang 100M 2月 23 20:58 file2
新建用户liu,把zhang的磁盘配额复制给liu
zhang@PC01:~/test$ sudo edquota -p zhang liu
$ whoami
liu
$ dd if=/dev/zero of=file3 bs=201M count=1
dd: 写入'file3' 出错: 超出磁盘限额
记录了1+0 的读入
记录了0+0 的写出
209506304 bytes (210 MB, 200 MiB) copied, 8.18892 s, 25.6 MB/s
$ ls -lh
总用量 401M
-rw------- 1 root root 7.0K 2月 23 20:40 aquota.user
-rw-r--r-- 1 zhang zhang 100M 2月 23 20:57 file1
-rw-r--r-- 1 zhang zhang 100M 2月 23 20:58 file2
-rw-rw-r-- 1 liu liu 200M 2月 23 21:13 file3