Linux
系统的磁盘配额功能用于限制用户所使用诉磁盘空间,并且在用户使用了过多的磁盘空间或分区的空闲空间过少时,系统管理员会接到警告。
Linux
磁盘配额可以针对单独用户进行配置,也可以针对用户组进行配置;配置策略既可以限制占用的磁盘空间,也可以限制文件数量。
quota
常见的几种使用情况:
l
针对
WWW server
,
如每个人的网面空间的容量限制。
l
针对
Mail server
,如每个人的邮件空间。
l
针对
File server
,如每个人的最大的可用网络空间。
quota
中的相关概念:
l
磁盘配额限制:针对用户占用磁盘大小限制与用户拥有的文件数数量限制;
l
软限制与硬限制:
soft
:软限制,超出这个限制就会收到警告信息,要比
hard
小;
hard
:硬限制,磁盘空间或文件数量的最大值,绝对不能超这个限制;
l
宽限时间:当用户使用空间大小或文件数量超过了
soft limit
,但还没达到
hard limit
时,这个宽限时间就会启动,当用户将空间大小或文件数量降低到
soft limit
之下时,那么宽限时间就会自动取消;
l
用户限制与组限制:
Linux
磁盘配额可以针对用户或组来进行配额。
quota
相关命令:
1)
quota
命令:作用显示磁盘已使用的空间与限制
[root@linux ~]# quota [-uvsl] [username]
[root@linux ~]# quota [-gvsl] [groupname]
参数:
-u
:后面可以接 username ,表示显示出该使用者的 quota 限制值。若不接 username ,表示显示出执行者的 quota 限制值。
-g
:后面可接 groupname ,表示显示出该群组的 quota 限制值。
-v
:显示每个 filesystem 的 quota 值;
-s
:可选择以 inode 或磁盘容量的限制值来显示;
-l
:仅显示出目前本机上面的
filesystem
的
quota
值。
2)
quotacheck
命令:
检查磁盘的使用空间与限制
[root@linux ~]# quotacheck [-avug] [/mount_point]
参数:
-a
:扫瞄所有在 /etc/mtab 内,含有 quota 支持的 filesystem,加上此参数,/mount_point 可不必写,因为扫瞄所有的 filesystem 了嘛!
-u
:针对使用者扫瞄档案与目录的使用情况,会建立 aquota.user
-g
:针对群组扫瞄档案与目录的使用情况,会建立 aquota.group
-v
:显示扫瞄过程的信息;
-M
:『强制』进行
quotacheck
的扫瞄。
3)
edquota
命令:
编辑用户或群组的
quota
[root@linux ~]# edquota [-u username] [-g groupname]
[root@linux ~]# edquota -t <==
修改恕限时间
[root@linux ~]# edquota -p username_demo -u username
参数:
-u
:后面接账号名称。可以进入 quota 的编辑画面 (vi) 去设定 username 的限制值;
-g
:后面接群组名称。可以进入 quota 的编辑画面 (vi) 去设定 groupname 的限制值;
-t
:可以修改恕限时间 (就是超过 quota 的 soft limit 值后,还能使用硬盘的宽限期限)
-p
:复制范本,将源用户的
quota设置套用至其他用户或群组
。如
[root@linux ~]# edquota -p user1 -u user2
4)
quotaon
命令:开启磁盘空间限制
[root@linux ~]# quotaon [-avug]
参 数:
-a
开启在/ect/fstab文件里,有加入quota设置的分区的空间限制。
-g
开启群组的磁盘空间限制。
-u
开启用户的磁盘空间限制。
-v
显示指令指令执行过程。
5)
quotaoff
命令:关闭磁盘空间限制
[root@linux ~]# quotaoff [-avug]
参 数:
-a
关闭在/etc/fstab文件里,有加入quota设置的分区的空间限制。
-g
关闭群组的磁盘空间限制。
-u
关闭用户的磁盘空间限制。
-v
显示指令执行过程。
6)
利用 repquota 显示更完整的 quota 结果报告:
[root@linux ~]# repquota -a [-vug]
参数:
-a
:直接到 /etc/mtab 搜寻具有 quota 标志的 filesystem ,并报告 quota 的结果;
-v
:输出所有的 quota 结果,而非仅下达指令者自己的 quota 限值;
-u
:显示出使用者的 quota 限值 (这是默认值);
-g
:显示出个别群组的 quota 限值。