为普通用户和用户组加入磁盘配额限制
Linux的quota程式允许为系统上每一用户或用户组指定所能使用的磁盘配额。使用quota注意以下几点。
1:当前的系统核心支持quota
2:系统已正确安装quota套装程式。
3:老版本的quota仅能工作在ext2类型的文档系统上。
4:必须是单独的挂载点。
假如您当前的系统核心不支持quota,请重新编译您的核心,当系统提示:Quota support(CONFIG-QUOTA)[n]回答y,生成新的系统核心。
一般Linux的发行版本都默然包含了quota支持,也附带了quota套装程式,只需安装quota并加以配置便能够让quota工作.
步骤:
1:编辑/etc/fstab来启动每一个文档系统的配额。
vi /etc/fstab
在需要做磁盘配额的目录上加入usrquota,grpquota(LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2)
2:重新挂载文档系统。(只有通过reboot的方式挂载,使用mount -a无法进行挂载,谁来解释下?)
mount -l 观察是否挂载上
3:创建配额文档,重新生成磁盘用量表。
quotacheck -ug /home //在/home下生成aquota.user和aquota.group文档
参数:a 检查任何起用了配额的在本地挂载的文档系统
b 在检查配额过程中显示周详的状态信息
u 检查用户磁盘配额信息
g 检查组群磁盘配额信息
4:分配配额。
quotaon -a //打开磁盘配额
现在假设想给test用户10M的硬盘配额限制,他所拥有的最大文档数不得超过100个。
edquota -u test //test为用户名
进入编辑环境,将如下三行:
Quotas for user test:
/dev/hadx: blocks in use14,limits(soft=0, hard=0)
inodes in use: 12, limits (soft=0, hard=0)
改为:
Quotas for user test:
/dev/hdax: blocks in use: 14, limits (soft=10204, hard=10204)
inodes in use: 12, limits (soft=100, hard=100)
其中:
blocks in use:用户已使用块的大小,单位是KB
inodes in use:用户现有文档的大小。
这两项都是系统自动给出,不必改变。
最后,你还必须设置一个预警期,如下所示:
# edquota -t
如下你可以把预警期设置为1天,也可以使用分钟或秒。
Time units may be: days, hours, minutes, or seconds
Grace period before enforcing soft limits for users:
/dev/hda3: block grace period: 1 days, file grace period: 1 days
测试:转换到test用户,注意这里一定别忘了用test用户登陆测试,因为root用户是没有限制的。
cp /bin/* /home/test //拷贝/bin/下任何文档到/home/test下,看磁盘配额有没有生效.
其他参数或命令:
quotaon -a 开启quota
quotaoff -a 关闭quota