磁盘配额在实际的生产环境下用处十分广泛,比如针对用户做磁盘配额,可以有效的防止某用户大量使用磁盘空间的情况,可以更好的管理磁盘空间。

要求:设置两个用户,开启磁盘配额并配置磁盘配额,设置其最低限制4.5M、最高限制5M、宽限时间1天。

1.设置进行磁盘配额的用户,在此新建两个用户,test、small共属于sky用户组。并设置密码;

[root@localhost ~]# groupadd test                        

[root@localhost ~]# useradd -m -g sky small     #创建用户small,并设置其用户组sky。并强制建立家目录         

[root@localhost ~]# useradd -m -g sky test

[root@localhost ~]# passwd sky                       

[root@localhost ~]# id test                           

uid=504(test) gid=504(sky) groups=504(sky) context=root:system_r:unconfined_t:SystemLow-SystemHigh

2.显示文件系统使用情况

[root@localhost ~]# df

文件系统       1K-块      已用     可用      已用%   挂载点

/dev/sda1       8022104  2894968   4713064   39%    /

tmpfs          127720    0         127720   0%     /dev/shm

/dev/sdb1       3288944  71328     3050540  3%     /mnt/sdb1

/dev/sdb2       1929100  35696     1795408  2%     /mnt/sdb2

/dev/sdb3       972404   17640     905368   2%     /mnt/sdb3

3.编辑/etc/fstab修改磁盘/dev/sdb3支持配额限制。

[root@localhost ~]# cat /etc/fstab

/dev/sdb3          /mnt/sdb3     ext3    defaults,usrquota,grpquota   0 0

4. 重启系统或者重新挂载文件系统使设置值生效。#mount-o remount /mnt/sdb3

5.进行磁盘配额检查

[root@localhost mnt]# quotacheck –avugc

quotacheck: Scanning /dev/sdb3 [/mnt/sdb3]done

quotacheck: Checked 3 directories and 4files

[root@localhost sdb3]# ll             

-rw------- 1 root root  6144 08-01 05:44 aquota.group

-rw------- 1 root root  6144 08-01 05:44 aquota.user

6. 启动磁盘配额

[root@localhost sdb3]# quotaon -avug

/dev/sdb3 [/mnt/sdb3]: group quotas turnedon

/dev/sdb3 [/mnt/sdb3]: user quotas turnedon

设置磁盘配额如下所示:

[root@localhost sdb3]# edquota -u test

Disk quotas for user test (uid 504):

 Filesystem                  blocks       soft      hard        inodes    soft     hard

 /dev/sdb3                    0         45000     50000     0         0       0

文件内有七个栏目:
 Filesystem:进行配额管制的文件系统。
blocks:已经使用的区块数量(单位1KB)
soft:block 使用数量的"软性"限制
hard:block 使用数量的"硬性"限制
inode:已经使用的 inode 数量
soft:inode 使用数量的"软性"限制
hard:inode 使用数量的"硬性"限制

此处,对用户test进行了磁盘配额的限制,最小磁盘配额4.5M,最大5M,单位是KB,

7.[root@localhost sdb3]# edquota -p testsmalll       将对用户test进行配置的磁盘配额信息复制给用户small。

8.[root@localhost sdb3]# edquota –t                       设置磁盘配额宽限时间。将默认的7天修改为1天。

Grace period before enforcing soft limitsfor users:

Time units may be: days, hours, minutes, orseconds

 Filesystem             Block graceperiod     Inode grace period

 /dev/sdb3                    1days                  1days

9.查看配置信息是否配置进去

[root@localhost sdb3]# quota -vu test small

Disk quotas for user test (uid 504):

Filesystem blocks   quota   limit  grace   files   quota  limit   grace

/dev/sdb3 0       45000  50000                0      0       0

Disk quotas for user small (uid 503):

Filesystem blocks   quota   limit  grace   files   quota  limit   grace

/dev/sdb3 0       45000  50000                0      0       0

由于用户的磁盘配额尚未超过4.5M,所以宽限(grade)时间就不会出现。

10.对test、small所在的用户组sky进行磁盘配额限制,最小9M,最大10M,单位是KB,

[root@localhost ~]# edquota -g sky

Disk quotas for group sky (gid 504):

Filesystem                   blocks       soft       hard    inodes     soft     hard

/dev/sdb3                   0           90000    100000   0          0       0

11.[root@localhost ~]# quota -vg sky

Disk quotas for group sky (gid 504):

Filesystem blocks   quota   limit  grace   files    quota    limit   grace

/dev/sdb3  0      90000   100000        0      0       0

12.因为启动脚本会将磁盘配额信息检测出来并自动写进去,默认情况下磁盘配额信息会主动启动,也可强制磁盘配额在启动一遍。#/sbin/quotaon-avugc

13.可以使用repquota显示磁盘配额信息的使用情况报告,如下所示:

[root@localhost ~]# repquota -av

*** Report for user quotas on device/dev/sdb3

Block grace time: 24:00; Inode grace time:24:00

                        Block limits                File limits

User           used    soft   hard  grace    used soft  hard  grace

----------------------------------------------------------------------

root     --   17632       0      0              4     0    0

small    --       0   45000  50000              0     0    0

test     --       0   45000  50000              0     0    0

Statistics:

Total blocks: 7

Data blocks: 1

Entries: 3

Used average: 3.000000

14.使用quotaon或quotaoff启用或者禁用磁盘配额。

quotaoff -vaug如果-u或-g选项没有被指定,只有用户配额被禁用。如果只指定了-g 选项,只有组群配额会被禁用。

总结:磁盘配额除了监视系统上使用的磁盘空间,还可以通过实现磁盘配额来限制磁盘空间,因此当用户使用了过多的 磁盘空间或分区将要写满时,系统管理员就会接到警告。磁盘配额可以为个体用户配置也可以为用户组配置。这种灵活性既能够给每个用户分配一个较小的配额来处 理“个人”文件(如电子邮件和报告),又允许他们正从事的项目能够拥有较大的配额(假定项目有自己的组群)。

除此以外,配额不仅能够被设置成对所用磁盘块数量的控制,还能够被设置成对内节点数量的控制。由于内节点包含文件相关的信息,对内节点的控制能够控制可被创建的文件数量。

    同时还可以通过设置磁盘配额防范系统攻击。根据该用户在系统中的权限和使用情况,合理为该用户设置使用空间,不影响系统常规的操作,同时加强了系统安全性。