此文为整理而来
磁盘配合可以针对单独用户进行配置,也可以针对用户组进行配置,配置的策略也比较灵活,既可以限制占用的磁盘空间,也可以限制文件的数量。
要实现磁盘配额,必须在系统中安装quota软件包
rpm –qa | grep quota
对磁盘配额的限制一般是从一个用户占用磁盘空间和最多文件数量,在某个宽限范围内可以暂时超过这个限制
软限制:一个用户在文件系统可拥有的最大磁盘空间和最多文件数量,在某个宽限范围内可以暂时超过这个限制。
硬限制:一个用户可拥有的磁盘空间或文件的绝对数量,绝对不允许超过这个限制。
对用户进行配额:在quota 中设置对指定用户的磁盘空间限制和文件数限制,配额只对该用户起作用。
对用户组进行配额:在quota 中设置对指定用户组的磁盘空间限制和文件数限制,配额将对组中的所有用户进行整体限制。
设置磁盘配额通常需要4步
第一 修改/etc/fstab 文件中的装载设置,在需要配置quota的分区装载设置中添加 usrquota
grpqutoa 选项,usrquota 选择设置可以对系统中的用户进行限额,grpquota 选项设置可以对系统中的组进行限额。
第二 重新挂载文件系统 最简单的方法就是 reboot
第三 使用 quotacheck -cug 建立磁盘配额文件 。 如果你要对 / 目录建立磁盘配额。那需加参数 –m qutoacheck –cmug 来建立磁盘配额文件 aquota.user aquota.group。有时老的系统中可能为 quota.user quota.group 文件。
第四 使用 edquota 对用户或组设置磁盘配额
试验 : VMware 下的 RedHat 9
1 挂载一块新的IDE硬盘 ,原来的为 SCSI用盘。运来硬盘设备号为 /dev/sda 。加入新的IDE硬盘设备号为 /dev/had。
2 启动使用 fdisk 分区新的硬盘 fdisk /dev/had , m for help , n add a new partition 自己分配硬盘的分区。
3 mkfs 格式化分区。(扩展分区不需要格式化)mkfs.ext3 mkfs.vfat
4 修改 /etc/fstab 文件 。把需要做磁盘配额的分区的参数字段加上两个参数 usrquota,grpquota
5 mount –a 重新挂载 /etc/fstab
6 在挂载的分区中执行 quotacheck –cug 创建 aquota.qroup aquota.user 文件
7 在分区中使用 edquota –u or –g 对 user 或 group 做配额
8 在分区中使用 edquota –t 对 警告时间做修改
9 在分区中使用 repquota 查看user 的磁盘配合情况。使用 –g 查看group 的磁盘配额情况
相关命令与参数
quota [-guvs] [user,group]
-g 显示群组
-u 显示用户
-v 显示quota的值
-s 显示inod或硬盘空间
quota –guvs 显示所有用户和组在所有做磁盘配额的分区上的quota 情况
quota –uvs test 显示 test 用户的quota值
quotacheck [-auvgm]
-g 扫描组的文件和目录
-u 扫描用户的文件和目录
-v 显示扫描过程
-a 扫描/etc/mtab 中所有已经安装并支持quota 的硬盘
-m 对/ 目录做配额时使用
当使用quotacheck 时,该磁盘分区将自动被设成只读扇区:扫描完毕之后,扫描所得
的磁盘空间结果会写入扇区的最顶端。
edquota
-u 编辑user的quota
-g 编辑 group 的quota
-t 编辑宽限时间
-p 复制模板到另一个用户
edquota –p user_mode –u test
edqutoa –t
days, hours, minutes,or seconds
quotaon [-a][-ugv]
-a 启动所有的quota设定
-u 激活用户的quota
-g 激活组的quota
-v 显示信息
quotaoff -a
-a 关闭所有的quota 设定
相比windows 的磁盘配合。都是以分区为单位的。也都可以设置关于用户和组的配合限制。但是linux root也受到配额的限制。这个跟windows 中的adiministrator 是不同的。administrator 是没有配额限制的。
quota 真正读取的是/etc/mtab
quotaon -av 开启
edquota -p test test2 配额配置的复制
mkdir /home/mail
chown root.mail /home/mail
chmod 775 /home/mail
cp -r /var/spool/mail /var/spool/mail.back
mv /var/spool/mail/* /home/mail
rmdir /var/spool/mail
ln -s /home/mail /var/spool/mail