在多用户环境中,每个用户都可能有大量的文件存放在文件系统中。如果对用户文件容量不加限制,磁盘空间就有可能被过多占用,造成系统无法正常工作,这也是网络黑客攻击系统惯用的手段之一。因此,在许多情况下需要限制用户的磁盘空间容量。
Linux可以规定用户或组的磁盘的限额。一旦超出规定的限额,Linux就不允许用户或组继续占用新的磁盘空间。
实验步骤:
本实验以“/“分区为实施目标
#lsblk 用于列出所有可用的块设备的信息,可以看到我的那个分区挂载在” / “下
#blkid 查看本地磁盘UUID 分区格式 卷标 等
开启磁盘限额
1、 对某个分区进行磁盘限额的选项加载
(1)vi/etc/fstab 编辑
defaults后追加 ,usrquota,grpquota(位于第4列)
或(2)或对新分区执行命令
#mount/dev/sdb1 /mnt/backup -o usrquota,grpquota
或(3)确认分区所在/etc/fstab第几行,如第九行
#sed -i'9s/defaults/&,usrquota,grpquota/' /etc/fstab
或(4)确认UUID=xxx的关键字
#sed -i'/UUID=4becb/s/defaults/&,usrquota,grpquota/' /etc/fstab
或(5)对分区进行添加
1./boot分区
#sed -i'/\/boot/s/defaults/&,usrquota,grpquota/' /etc/fstab
2.”/”分区
#sed-i '/\(\/\)/s/defaults/&,usrquota,grpquota/' /etc/fstab
注:(1-5)结果是一样的 可任选其一操作
2. 重新读取分区选项
#mount / -o remount
#mount ------可查看参数usrquota与grpquota 是否已经加入
3.创建磁盘限额的数据库
#quotacheck -vugcfm /
4.确定”/“分区下存在user,group的数据库
#cd /
#ls
存在aquota.group与aquota.user 则说明数据库已经建立
5,开启磁盘限额
#quotaon -v /(或/dev/sda2或 / )
#quotaon -av ------开启所有带有quota功能的分区
查看分区是否开启quota功能
quotaon -ap (或 –/dev/sda2)
6. 对用户进行磁盘限额的分配
#useradd qq (增加新用户)
#passwd qq
#edquota -u qq用户)
Alt –F2 切换到qq用户 ,新建文件验证
注意:
1)块大小以K进行计算
2)i节点则以总数计算,如:当前用户已经占用6个i节点,打算让此用户最多创建3个文件,则i节点的配置为9
7、查看quota数据库报表
#repquota –ap
#repquota -p / <--p参数是显示宽限期
#repquota -p / | sed -ne '4,5p' -e '/指定用户名or组名/p'
8、设置宽限期
设置宽限期
#edquota –t
增加宽限期(只对已经超出soft的有效)
#edquota -T 用户名
9、对组进行磁盘限额分配
再新建用户ww
#groupadd zu1 ------新建组
#usermod -g zu1 qq
#usermod -g zu1 ww------将qq ww 加入到zu 1中
#edquota -g zu1(组名)
注意:
组采用的规则为:竞争规则
切换到qq ww 中新建文件可验证
注:若针对某一用户既设置了block 又设置了i节点,则以先达到限制的为主
若某用户既既设置用户限额又设置了组限额,则也以先达到限制的为主
|