磁盘配额
利用磁盘配额(quota)技术,系统管理员可以限制某个用户在某个硬盘分区可使用的大小,和可以创建文件数量的多少;目前Linux系统和Windows系统都支持这种技术。
磁盘配额使用条件:
磁盘配额实施的对象是磁盘分区,并且Linux的内核必须支持磁盘配额这种技术;
磁盘配额的记录文件保存在开启磁盘配额分区的根目录下面,它们是aquota.user和aquota.group;
磁盘配额只对一般身份用户有效,对root权限用户无效;
磁盘配额的相关术语:
最低限制(软限制,soft):最低限制容量(可以被超过,但会出现警告,超过的部分会保存到宽限时间到期);
最高限制(硬限制,hard): 不能被超越的限制;
宽限时间:当用户使用的空间超过了最低限制但还没到达最高限制时,在这个宽限时间到期前必须将超额的数据降低到最低限制以下,当宽限时间到期,系统将自动清除超出的数据;
设置步骤
(1),修改/etc/fstab添加一条自动挂载分区条目:
#vim /etc/fstab(若要使hda5进行磁盘配额)
/dev/hda5 /abc ext3 defaults,usrquota 0 0
保存,查看hda5的挂载信息
mount | grep /dev/hda5
只要括号里面显示"usrquota",说明可以使用磁盘配额了,否则重新挂载
#mount -o remount /abc(重新挂载,使磁盘配额参数生效)
或 mount -o defaults,usrquota /dev/hdb5 /abc
(2),创建磁盘配额文件:
为了让其他用户可以使用这个分区,先将这个实验用的分区权限修改成777
#chmod 777 /abc
生成磁盘配额配置文件:
#quotacheck /abc 生成文件aquota.user
原先已经有建立的配额数据的话,清空并重新建立, 需要加 -f 选项
(3),实现磁盘配额限制:
创建普通测试用户yp1,配置密码
#useradd yp1 随便新建一个用户用来测试磁盘配额
配置yp1用户使用/dev/hda5分区的限额
#edquota -u yp1
输入上面的命令后,会进入一个vi编辑界面
Filesystem block soft hard inodes soft hard
/dev/hda5 0 0 1000 0 0 3
其中各字段解释如下:
Filesystem下显示实现磁盘配额的分区
blocks下为当前已经使用的大小,不用修改
soft为软限制,超出后会给出警告
hard为硬限制,不可超越的限制(软硬限制默认单位都是KB)
后面的两个相同的soft、hard分别表示分区中这个用户可以创建的文件数目软硬限制;
本例中设置,yp1可以使用/dev/hda5分区的硬限制1000KB,可创建的文件个数硬限制3个;
(4)开启磁盘配额功能
#quotaon /abc
(5)测试
使用yp1用户测试
#su - yp1
检测yp1只能使用1000KB,若超出磁盘限制大小则会提示错误:
$dd if=/dev/zero of=/abc/a.c bs=1K count=500
(if: input file; of: output file; bs: blocksize; count: block num)
生成500K大小的文件a.c;若count超过1000个就会提示错误
(6)其他
1\用quota 用户名 可查看磁盘配额 或用 repquota –a 查看所有配额
2\用quotaoff 设备或挂载目录名 关闭配额
3\用edquota –p user1 user2 设定suer2与user1的配额一样