quota常用情况:
1. www server 例如:每个人的网页空间的容量限制!
2. mail server 例如:每个人的邮件空间限制!
3. file server 例如:每个人最大的可能网络硬盘空间!
quota 针对的是整个文件系统并且只对普通用户有效。
hard :表示用户绝对不会超过这个值。
soft: 表示用户在低于soft值时,可以正常使用,超过soft低于hard值,每次登录,系统
都会警告。且有一个宽限时间为七天,如果超过七天不处理将会成soft的限制值,超出
的磁盘使用权被锁住!
模拟应用环境
例:
五个用户分别是:quota1,quota2,quota3,quota4,quota4 群组为 quota.密码为:
password 限制的文件系统为 /dev/hdb5
每个用户限制hard: 300M soft:250M群组限制为:1G;宽限时间为14天。
1.建立用户
[root@lyy scripts]# vi adduser.sh
#!/bin/bash
#This is a test dd.html' target='_blank'>useradd!
#20101209
groupadd quota
for username in quota1 quota2 quota3 quota4 quota5
do
useradd -g quota $username
echo "password" | passwd --stdin $username
done
[root@lyy scripts]# sh adduser.sh
2.启动文件系统支持quota
[root@lyy ~]# vim /etc/fstab
LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2 #加上userquota,grpquota
[root@lyy ~]# mount -o remount /home #重新挂载分区
[root@lyy ~]# mount | grep /dev/hdb5
/dev/hdb5 on /mnt/home type ext3 (rw,usrquota,grpquota)
[root@lyy ~]#
3.建立quota记录文件
[root@lyy ~]# quotacheck -avugf
quotacheck: Scanning /dev/hdb5 [/mnt/home] quotacheck: Cannot stat old user quota file: 没有那个文件或目录
quotacheck: Cannot stat old group quota file: 没有那个文件或目录
quotacheck: Cannot stat old user quota file: 没有那个文件或目录
quotacheck: Cannot stat old group quota file: 没有那个文件或目录
done
quotacheck: Checked 3 directories and 2 files #扫描结果
quotacheck: Old file not found.
quotacheck: Old file not found.
查看记录文件
[root@lyy ~]# cd /mnt/home
[root@lyy home]# ll
总计 32
-rw------- 1 root root 6144 12-10 21:34 aquota.group
-rw------- 1 root root 6144 12-10 21:34 aquota.user
-a 扫描/etc/mtab支持quota文件系统
-u 扫描用户文件和目录使用情况,建立aquota.user
-g 扫描群组文件和目录使用情况,建立aquota.group
-v 显示扫描过程
-f 强制扫描文件系统
4.quota启动、关闭、限制
启动quota服务 quotaon
[root@lyy home]# quotaon -auvg #参数a 根据文件系统启动,不加a 后接文件系统
/dev/hdb5 [/mnt/home]: group quotas turned on
/dev/hdb5 [/mnt/home]: user quotas turned on
关闭quota服务 quotaoff
[root@lyy home]# quotaoff -a
-a 全部支持quota的文件系统
-u 后接文件系统 关闭user quota
-g 后接文件系统 关闭group quota
编辑帐号/群组 限值,宽限时间 edquota (edit quota)
-u 后接帐号进入编辑画面
-g 后接组名进入编辑画面
-t 修改宽限时间
-p 复制模板
[root@lyy ~]# edquota -u quota1
Disk quotas for user quota1 (uid 517):
Filesystem blocks soft hard inodes soft hard
/dev/hdb5 0 250000 300000 0 0 0
650) this.width=650;\" style=\"border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"/uploads/allimg/110907/220T03I5-0.png\" \"532\" height=\"169\">
设定完成后,把设置值复制给其他四个用户
[root@lyy ~]# edquota -p quota1 -u quota2
[root@lyy ~]# edquota -p quota1 -u quota3
[root@lyy ~]# edquota -p quota1 -u quota4
[root@lyy ~]# edquota -p quota1 -u quota5
设置群组的值
[root@lyy ~]# edquota -g quota
Disk quotas for group quota (gid 517):
Filesystem blocks soft hard inodes soft hard
/dev/hdb5 0 900000 1000000 0 0 0
设置宽限时间
[root@lyy ~]# edquota -t
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/hdb5 14days 7days
5.显示quota限制结果 quota
-u 后接用户,显示quota限制值
-g 后接群组,显示quota限制值
-v 显示每个用户在filesystem的值
-s 使用M之类的单位
针对用户报表
[root@lyy ~]# quota -uvs quota1 quota2
Disk quotas for user quota1 (uid 517):
Filesystem blocks quota limit grace files quota limit grace
/dev/hdb5 0 245M 293M 0 0 0
Disk quotas for user quota2 (uid 518):
Filesystem blocks quota limit grace files quota limit grace
/dev/hdb5 0 245M 293M 0 0 0
针对文件系统报表 repquota
[root@lyy ~]# repquota -auvs
*** Report for user quotas on device /dev/hdb5 #对/dev/hdb1
Block grace time: 14days; Inode grace time: 7days #宽限时间
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 138M 0 0 4 0 0
quota1 -- 0 245M 293M 0 0 0
quota2 -- 0 245M 293M 0 0 0
quota3 -- 0 245M 293M 0 0 0
quota4 -- 0 245M 293M 0 0 0
quota5 -- 0 245M 293M 0 0 0
Statistics:
Total blocks: 7
Data blocks: 1
Entries: 6
Used average: 6.000000
6.测试结果
[quota1@lyy home]$ cd /mnt/home
[quota1@lyy home]$ dd if=/dev/zero of=test bs=1M count=265
hdb5: warning, user block quota exceeded. #出现了warning信息