linux-用户磁盘配额

 

 

磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间

磁盘配额可以限制指定账户能够使用的磁盘空间,这样可以避免因某个用户的过度使用磁盘空间造成其他用户无法正常工作甚至影响系统运行。在服务器管理中此功能非常重要,但对单机用户来说意义不大。

         linux下磁盘配额的设置单位是分区(只能是分区),针对分区启用配额限制功能后才可以对用户进行配额限制。

磁盘配额设置有两种措施:硬限制和软限制。

1.      硬限制是对空间使用的绝对限制,在任何情况下用户都不允许超过此限制;

2.      软限制允许用户在一定时间范围内(默认为7天)超过其软限制的额度(通常情况下硬限制的额度设置要比软限制大,否则软限制就没有意义啦),而不超出硬限制的范围内可以继续使用空间,系统会发出警告,但如果用户达到默认的7天时间期限仍未释放空间到限制的额度下,系统将不再允许该用户使用更多的空间,会保持在用户已用空间并只允许用户删除和读取文件。

磁盘配额限制空间使用的方法也有两种:即分别对inodeblock进行限制。

1.      blocks限制即磁盘配额可以限定用户在分区中使用的空间大小;

2.      inode可以限定用户可以在分区中最多创建的文件数(inodes),需要注意的是,只要用户所创建的文件超过他可以使用的inode数额,即使这些文件是空的,他再次创建文件的行为也将被限制。

实现磁盘配额的基本步骤

l  检查内核是否支持(此步可跳过)

l  启动分区配额功能

l  生成配额信息文件

l  设置用户或组配额

l  启动磁盘配额服务

本次实验环境及要求
系统:CentOS-6.6
启用配额磁盘大小:20G

要求:配额磁盘的挂载点在/disk/,系统用户有zslszs可以使用磁盘空间1G,可创建文件总数20个,ls可使用磁盘空间100M,可创建文件总数不限制

1.检查内核是否支持
使用命令uname –r查看内核版本,版本必须是2.4以上才支持使用磁盘配额,如果用的linux内核不在2.4以上需要重新编译内核才能实现配额

linux磁盘配额管理_管理员


2.启用分区配额功能,重新挂载磁盘使其启用配额功能。

linux磁盘配额管理_linux_02



如果想让分区配额功能永久生效,就需要修改/etc/fstab文件,将需要启用磁盘配额的设备改为:

linux磁盘配额管理_linux_03


UUID=就是你要挂载的分区的唯一标识符,例如查看/dev/sdb1UUID使用命令)

3.生成磁盘配额文件

linux磁盘配额管理_服务器_04


[root@localhost~]#quotacheck [选项] [分区名]选项:
-a:扫描/etc/mtab文件中所有启用磁盘配额功能的分区。如果加入此参数,命令后面就不需要加入分区名了
-c:不管原有的配置文件,重新扫描并建立新的配置文件
-u:建立用户配额的配置文件,也就是生成aquota.user文件
-g:建立组配额的配置文件,会生成aquota.group文件
-v:显示扫描过程
-m:强制以读写的方式扫描文件系统,和
-M类似。一般扫描根分区时使用。
-f:强制扫描文件系统,并写入新的配置文件。一般扫描新添加的硬盘分区时使用

执行命令完成后会看到在/disk目录下生成名为aquota.user的文件

linux磁盘配额管理_服务器_05


4.设置用户配额使用命令edqouta–u zs修改成如下所示保存退出

linux磁盘配额管理_linux_06


设置用户ls

linux磁盘配额管理_管理员_07


5.启用磁盘配额服务

linux磁盘配额管理_linux_08


测试用户使用zs用户向磁盘内建立20以上的文件数,测试一下

linux磁盘配额管理_空间_09

      

如果配置成功则会出现上述错误