Linux操作系统中设置磁盘定额的方法介绍

来源:岁月联盟 编辑:zhuzhu 时间:2007-10-09
Linux操作系统中设置磁盘定额的方法介绍内容简介:

磁盘定额(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”文件:

[root@deep /]# touch /home/quota.user

[root@deep /]# touch /home/quota.group

[root@deep /]# chmod 600 /home/quota.user

[root@deep /]# chmod 600 /home/quota.group

“touch”命令在“/home”目录下创建空的文件。。“chmod”命令为这些文件设置只有“root”用户可读写的权限。

注意:这两个quota文件,“quota.user”和“quota.group”,的所有者必须为“root”,“root”用户有读写的权限。

(责任编辑:云子)