制做人:wqmslnode
博客地址:http://wqmsl.blog.51cto.com数据库
磁盘限额ide
基于用户的磁盘限额和基于组的磁盘限额(usrquota grpquota)测试
在作磁盘限额的时候是基于文件系统作的,因此要给用户家目录作磁盘年限额的话首先要看/home所在的分区是独立分区仍是挂载到了根下,若是在根下,就得对整个根来作磁盘限额,若是是独立分区,只须要在独立分区上作就能够了,因为家目录的特殊性,通常咱们都在单独分区上。命令行
这里作一个基于独立分区的/home家目录的用户usrquota的磁盘配额3d
查看一下挂载状况,以下:/home分区是/dev/sda5文件系统,只要对sda5作磁盘限额就能够了对象
查看一下系统当前所用的内核,在查看一下所用内核是否支持磁盘限额blog
要作磁盘限额首先要熟悉fstab文件,修改fstab中的/home,使其支持quotaip
从新挂载文件系统(/home),查看/dev/sda5是否已经支持磁盘配额rem
从新挂载:如根目录的特殊性(须要重启),使用mount -o remount / 或者 mount -o remount(重启失效,先要写入fstab文件中),usrquota / 就不用咱们去重启系统也可使其生效了
生成配额文件,quotacheck -cum /dev/sda5 ——> u:是指usrquota(能够省略,缺省为u)
注释:quotacheck [-avugfM] 系统文件
选项与参数:
-u :针对用户扫瞄档案不目弽的使用状况,会创建 aquota.user
-g :针对群组扫瞄档案不目弽的使用状况,会创建 aquota.group
-v :显示扫瞄过程的信息;
-f :强制扫瞄文件系统,并写入新的 quota 配置文件 (危险)
-M :强制以读写的方式扫瞄文件系统,只有在特殊状况下才会使用。
查看一下生成的配额文见aquota.user,数据库格式
生成配额文件以后默认并无开启配额功能,须要咱们开启,先查看一下当前状态
以下:/home的usrquota仍是off状态;也可使用这条命令查看: quotaon -p /dev/sda5
开启usrquota的磁盘限额;# quotaon -uv /dev/sda5 没有加-u的参数
注释:quotaon [-vug] [/mount_point]
选项与参数:
-u :针对使用者启动 quota (aquota.user)
-g :针对群组启动 quota (aquota.group)
-v :显示启动过程的相关讯息;
-a :根据 /etc/mtab 内的 filesystem 设定启动有关的 quota,若不加 -a 的话,
则后面就须要加上特定的那个 filesystem 的!
quotaon -uv /home 开启/home下用户的磁盘限额
quotaon -auvg 开启全部执行磁盘限额文件系统用户和组的磁盘限额
关系磁盘限额的功能正好和这个相反,使用quotaoff来执行
再看一下状态,是否启用成功
为用户wqmsl2配置磁盘限额,大小的限制以KB为单位,blocks、inodes 不用修改,默认就好
看看鸟哥的解释
先来作基于文件大小的限制,给用户wqmsl2软限制为8M,硬限制为10M(我以1000为单位换算)
测试,我切换到wqmsl2用户,进行测试看看磁盘配额有没有生效
能够查看针对本身磁盘配额
默认我在本身的家目录下,我依次写入大小3M的文件4次,看看效果
执行如下命令3次,生成,每次都修改一下文件名,以避免重复
解释:dd if=/dev/zero bs=3M count=1 of=test bs=不加单位的话是以字节计算,count则是次数,这个命令的含义就是:每次写入3M大小,写1次在当前目录下生成3M大的test文件
repquota :针对文件系统的限额作报表 (只有root才能够执行查看)
注释:repquota -a [-vugs]
选顷不参数:
-a :直接到 /etc/mtab 搜寻具备 quota 标志的 filesystem ,幵报告 quota 的
结果;
-v :输出的数据将吨有 filesystem 相关的绅部信息;
-u :显示出用户的 quota 限值 (这是默讣值);
-g :显示出个别群组的 quota 限值。
-s :使用 M, G 为单位显示结果
warnquota :对超过限额的用户发出警告信
注释:warnquota 字面上的含义就是 quota 的警告 (warn) !它能够依据
/etc/warnquota.conf 的设定,而后找出目前系统上面 quota 用量超过 soft (就是有 grace time 出现的那用户) 的用户帐号,经过 email 发送警告信到用户的电子邮件信箱。
warnquota 不会自动执行,须要咱们手动去执行它。光执行『 warnquota 』以后,他会发送两封信出去, 一封给超过软限制的用户一封给 root
只有root执行了warnquota 命令才会给超过软限制的用户发送邮件,试想一下,这样是否是很不合适呢,因此咱们得让其自动执行,那就是计划任务
先看一下warnquota这个命令在哪里
咱们把计划任务添加到天天4:02执行的任务中,注意权限哦(要有可执行权限)
这样系统天天凌晨4:02就会执行这个任务,自动给超过软限制的用户发送邮件哦
下面测试一下,用账户wqmsl2登录系统,提示我有封邮件
咱们看看邮件的详细内容
我继续往里面写东西,看看到了硬限制以后有没有提示
当我再写的时候已经提示了,磁盘超出限额
可是并非说就彻底写不进去了,还有一部分能写进去
看看test4的大小就知道了,仍是有一部分写进去了
setquota :直接用命令设定 quota 磁盘限额
注释:edquota 是呼叫 vi 进行行讴定,setquota 直接由命令输入所需要的各项限制值获得的
用命令行的方式给wqmsl1设定磁盘限额
切换到wqmsl1下查看
为组作限额
和用户的是同样的
生成组限制文件
[root@localhost /]# quotacheck -cmg /
为组启用quota
[root@localhost /]# quotaon -g /
为组作限额 分配大小
[root@localhost /]# edquota -g quota(组名)
注意:这里的组要是基于主组的 建立的文件要属于磁盘配额的用户组
若是你限制的对象是附属组,那么是不生效的,只有文件所属组为你限制的组的时候才会生效
文件个数的限制
这个和限制大小同样,修改以下的内容就能够了
档案数量 (inodes):这是 quota 本身算出来的,单位为个数,不要更改此项;
soft:inode 的 soft 限制值,以个数为单位;
hard:inode 的 hard 限制值,以个数为单位;
修改完这个就能够了,当你写入的文件数量超过了硬限制的数量,那么就会禁止你再往里写文件了
单用户文件系统的限额作报表
注释:uota [-uvs] [username]
quota [-gvs] [groupname]
选项与参数:
-u :后面能够接 username ,表示显示出该用户的 quota 限制值。若不接username ,表示显示出执行此命令用户的 quota 限制值。
-g :后面可接 groupname ,表示显示出该群组的 quota 限制值。
-v :显示每一个用户在 filesystem 的 quota 值;
-s :使用 1024 为倍数来指定单位,会显示如 M 之类的单位!
直接使用 quota 去显示出 wqmsl1 不 wqmsl2 的限额
例如:quota -uvs wqmsl2 wqmsl3
宽限时间 (grace time):
咱们可使用这个命令 edquota -t 去修改宽限时间,系统默认是7天,
edquota -p 范本帐号 -u 新帐号 ——> 给全部的用户相同的限制
edquota -p wqmsl2 -u wqmsl3 以下:wqmsl3用户的配额和wqmsl2是同样的