介绍:
磁盘定额(quota)是系统管理员用来监控和限制用户或组对磁盘的使用的工具。Quota可以从两方面限制:其一,限制用户或组可以拥有的inode数 (文件数);其二,限制分配给用户或组的磁盘块的数目(以千字节为单位的磁盘空间)。通过使用quota,系统管理员可以限制用户无节制地使用磁盘空间。 Quota程序是针对每个用户和每个文件系统的,所以每个文件系统都要单独设置。
编译支持quota的内核
首先,你要确定你的linux内核是支持quota的。在2.2.14的版本的内核中,在编译的时候必须回答下面的问题为“y”。
Filesystems
Quota support (CONFIG_QUOTA) [N/y/?] Y
修改“/etc/fstab”文件
“/etc/fstab”文件包含Linux系统中安装上的各种各样文件系统的信息。在使用quota之前,必须现在“fstab”中设置一下使其生效。 因为对每一个文件系统都要单独设置quota,而且在“fstab”文件中,每一个文件系统单独用一行表示,所以为了支持quota必须在“fstab” 的每一行都单独设置。根据你的需要,可以单独为用户、组或组和用户设置quota。在下面的例子中,我们假定“/home”目录在“/dev/sda6” 设备上,有三种可能的情况。
第一种可能的情况:
在一个特定的文件系统上设置用户quota,编辑你的“fstab”文件(vi /etc/fstab),在“defaults”或其它为文件系统做的设置之后加上“usrquota”。
例如:
/dev/sda6 /home ext2 defaults 1 2 (as an example: the word “defaults”)
/dev/sda6 /home ext2 nosuid,nodev 1 2 (as an example: any other options you have set)
改为:
/dev/sda6 /home ext2 defaults,usrquota 1 2
/dev/sda6 /home ext2 nosuid,nodev,usrquota 1 2
第二种可能的情况:
在文件系统上设置组quota,编辑你的“fstab”文件(vi /etc/fstab),在“defaults”或其它为文件系统做的设置之后加上“grpquota”
例如:
/dev/sda6 /home ext2 defaults 1 2 (as an example: the word “defaults”)
/dev/sda6 /home ext2 nosuid,nodev 1 2 (as an example: any other options you have set)
改为:
/dev/sda6 /home ext2 defaults,grpquota 1 2
/dev/sda6 /home ext2 nosuid,nodev,grpquota 1 2
第三种可能情况:
在文件系统上同时设置用户和组quota,编辑“fstab”文件(vi /etc/fstab),在“defaults”或其它为文件系统做的设置之后加上“usrquota, grpquota”。
例如:
/dev/sda6 /home ext2 defaults 1 2 (as an example: the word “defaults”)
/dev/sda6 /home ext2 nosuid,nodev 1 2 (as an example: any other options you have set)
改为:
/dev/sda6 /home ext2 defaults,usrquota,grpquota 1 2
/dev/sda6 /home ext2 nosuid,nodev,usrquota,grpquota 1 2
创建“quota.user”和“quota.group”文件
在修改“/etc/fstab”文件之后,为了在文件系统上建立quota,在文件系统的根目录下(在我们的例子中为“/home”)必须有一个 “root”拥有所有权的文件:如果设置用户quota,必须创建“quota.user”;如果设置组quota,必须创建 “quota.group”;如果想同时设置用户和组quota,这两个文件都要创建。
第一步
在你想设置quota的那个分区的根目录,以“root”身份创建“quota.usr”或“quota.group”文件:
“touch”命令在“/home”目录下创建空的文件。。“chmod”命令为这些文件设置只有“root”用户可读写的权限。
注意:这两个quota文件,“quota.user”和“quota.group”,的所有者必须为“root”,“root”用户有读写的权限。