linux 磁盘配额

文件系统提供的功能 ,对于启用usrquota,grpquota功能的分区,可以限制用户或组所使用的磁盘容量
作用: 限制磁盘资源的使用
用处: 网络存储空间有限,限制某些用户的存储权限,例如:网站、邮件服务器、文件服务器

限制的人群类型:
普通用户
针对于一组用户
注意:root 用户是限制不了的
限制条件:
容量:限制用户所使用的磁盘空间。
inode:限制用户创建的文件数量。
限制强度:
soft:软性限制,只是警告。
hard:强制限制,不能超越。

命令:
quotacheck [-avgu] [mount_point]

启动 quota 的服务:
quotaon [-ugv] [mount_point]
补充说明:执行quotaon指令可开启用户和群组的空间限制,各分区的文件系统根目录必须有quota.user和quota.group配置文件。
参 数:
-a 开启在/ect/fstab文件里,有加入quota设置的分区的空间限制。
关闭 quota 的服务:
-g 开启群组的磁盘空间限制。
-u 开启用户的磁盘空间限制。
-v 显示指令指令执行过程。
quotaoff [-ugv] [mount_point]

编辑磁盘配额限制
命令:edquota
格式:edquota [-u username] [-g groupname]

-u:用户名
-g:组名
-t:grace time
-p:复制磁盘配额

修改 grace time:
#edquota -t
# edquota -p u1 u3 将u1的属性赋给u3

编辑宽限天数:edquota -t,默认是7天,将block grace下的改掉,改成1天,当超过软配额时给与宽限1天,如果没减小空间则不再允许该帐号增加使用空间
定义期限时间
定义某个用户的软限时间 单位:days天 hours小时 minutes分钟 seconds秒
# edquota -T -u tom

block grace inode grace
3days 3hours

操作步骤
在磁盘上添加一个分区sdb1
建立挂载点
#mkdir /mnt/quota
#mount /dev/sdb1 /mnt/quota
#vim /etc/fstab
添加以下内容
UUID=d3094f48-30d3-4926-a0f5-4b80b0105ade /mnt/quota ext4 defaults,usrquota,grpquota 0 0
#mount -o remount /dev/sdb1 重新生成挂载信息
#quotacheck -guv /mnt/quota
quotacheck: Cannot create new quotafile /mnt/quota/aquota.user.new: 权限不够
quotacheck: Cannot initialize IO on new quotafile: 权限不够
quotacheck: Cannot create new quotafile /mnt/quota/aquota.group.new: 权限不够
quotacheck: Cannot initialize IO on new quotafile: 权限不够
出现以上信息,需关闭selinux
#setenforce 0
#quotacheck -guv /mnt/quota/ –扫描分区,创建针对该分区用户和组进行配额的quota文件
quotacheck: Checked 2 directories and 0 files
quotacheck: Old file not found.
quotacheck: Old file not found.
出现以上信息,说明扫描分区成功,创建配置文件成功
#cd /mnt/quota
#ll –有这三个文件说明成功
总用量 32
-rw——-. 1 root root 6144 1月 17 17:21 aquota.group
-rw——-. 1 root root 6144 1月 17 17:21 aquota.user
drwx——. 2 root root 16384 1月 16 19:38 lost+found

#quotaon -a —开启quota功能

inodes 测试普通用户创建文件个数限制
添加用户
#useradd tom && passwd tom

#edquota -u tom 设置普通用户inodes值警告和限制数目,soft是创建2个文件以后就会警告,hard是创建4个文件之后就不能再创建了

Disk quotas for user tom (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 0 0 0 0 2 4
切换tom用户
尝试新建三个目录 和 五个目录看有什么结果
#su tom
cd/mnt/quota touch 1 2 3
sdb1: warning, user file quota exceeded. –警告
$touch 4 5
touch: 无法创建”5”: 超出磁盘限额

测试普通用户创建blocks文件大小的限额:
#useradd jim && passwd jim
#edquota -u jim 设置jim用户创建该目录下的文件blocks文件的大小 soft警告设置的20M 限值是40M
Disk quotas for user jim (uid 501):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 0 20M 40M 0 0 0
ddif=/dev/zeroof=/mnt/quota/jim.txtbs=30Mcount=1[jim@localhost ] dd if=/dev/zero of=/mnt/quota/jim.txt bs=30M count=1
[jim@localhost quota]$ dd if=/dev/zero of=/mnt/quota/jim.txt bs=30M count=1
sdb1: warning, user block quota exceeded.
记录了1+0 的读入
记录了1+0 的写出
31457280字节(31 MB)已复制,0.0770076 秒,408 MB/秒

虽然警告,但仍然可以写入

继续创建一个30M大小的文件
[jim@localhost quota]$ dd if=/dev/zero of=/mnt/quota/jim2.txt bs=30M count=1
sdb1: write failed, user block limit reached.
dd: 正在写入”/mnt/quota/jim2.txt”: 超出磁盘限额
记录了1+0 的读入
记录了0+0 的写出
10485760字节(10 MB)已复制,0.0805947 秒,130 MB/秒

最终只写入了10M

#edquota -p jim tom –配置信息复制

编辑宽限天数:edquota -t,默认是7天,将block grace下的改掉,改成1天,当超过软配额时给与宽限1天,如果没减小空间则不再允许该帐号增加使用空间
#edauota -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/sdb1 7days 7days

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值