磁盘配额的实现
时间:2006-03-22 来源:todaynet
配额使各个用户和组无法占用分区上的全部空间。Linux管理员通常用磁盘配额;规定
一个用户的电子邮件、 |
Web站点文件、FTP文件等可以占 |
用的空间量,使各个用户和组无法 |
占用分区上的全部空间 足够的磁盘空间,则可能使 |
,挤压根目录和/boot之类的关 Linux崩溃。 |
键目录所要的空间。如果这些目录没有 |
可以通过限定inode数 |
而配置配额。每个inode与特定 |
文件相关联。也可以设置绝对极限 |
(KB数)。换句话说,可以限制用户与组放在系统中的文件个数,也可以对用户与组放在 |
系统中的数据量设置绝对极限。 |
配额可以监视系统的使用模式。 |
配置 |
默认情况下,Red Hat Linux中安装和激活 |
了quota RPM包。如果不能确定,可以运行 |
下列命令;rpm-q quota |
如果已经安装和激活了quota RPM包,则可以在屏幕的标准输出中看到包名和版本号 |
需要。可以按第10章介绍的方法安装这类配RPM包。 |
配额通常在内核中激活。激活之后,可以在特定分区中对用户与组配置配额。无论哪种 |
情况。都要用/etc/fstab中的活动配额设 |
置重新装载目标目录。配置配额设置后,可以 |
激活配额,其在下次重新启动时在/etc/rc.d/rc.sysinit中激活。 |
下载内核源代码时,文 |
件保存在/usr/src/linux-2.4目 |
录中。Red Hat Linux |
内核下载到不同目录中,链接到/usr/src 说明:下一个Linux内核版本计划于2003年某 发布之后,内核源代码可能放到/usr/src/lin 许多特性已经加进Red Hat Linuxg9.0内核中 |
/linux-2.4。关于内核源代码的更多信息,见第12章 个时间推出。 ux2.6或/usr/src/linux-3.0目录中。这个新内核的 。 |
标识内核源代码所在目 |
录后,这个目录中应该有一个.c |
onfig文件。如果没有,则表示这 |
个内核还没有对你的计 |
算机进行编译。这时,用下列命 |
令搜索这个文件中CONFIG_QUOTA设置。 |
# grep CONFIG_QUOTA |
/usr/src/linux-2.4/.config |
如果内核代码在不同目录中。则要相应改变这个命令。可以在标准输出中看到下列 |
CONFIG_QUOTA=y |
CONFIG__QUOTA=n |
换句话说,配额支持活动 (y)或非活(n) 。如果配额支持为非活动,则要将其编 |
详到内核中。 |
说明:内核版本应与引导装入器配置文件/ 入器与内核之间的关系。 |
boot/grub/ggub.conf中的设置相关联。关于引导装 |
使用配额 |
要对特定用户生成配额,需要六个步骤: |
1.修改/etc/fstab,对所选文件系统激活配额选项。 |
2.重新装载文件系统,使改变生效。 |
3.在该文件系统开头建立aquo.user文件 |
。例如,如果在/home中生成配额,则生成 |
/home/aquota.user文件。 |
4.扫描相应文件系统,用quotacheck命令生成基本配额文件。 |
5.用edquota命令,对特定用户采用配额眼制。 |
6.最后,用quotaom命令激活配额。 |
下面几节详细介绍这些步骤。 |
修改/etc/fstab与重新装载 |
修改/etc/fatab很简单 |
,从这个配置文件中取出一行, |
这里设置/home为另一分区的文件 |
系统: |
LABEL=/home /home ext3 defaults |
好在//ect/fstab中还 为如果这个代码换行,则引 如下: |
有增加用户配额设置usrquooa的 导过程可能无法工作。因此加上 |
空间。/etc/fstab中的空间很紧缺。因 用户配额设置后,这个/etc/fstab语句 |
LABEL=/home /home ext3 defaults,usrq |
uota12 |
现在可以重新装载做/home目录。使改变生效。好在不需要改变运行级或用救援盘重新启 |
动,只要用下列命令在/home中激活/etc/fstab改变: |
#moun-o remount/home |
建立aquota.user文件 |
利用touch命令很容易建立所要的配额文件。本节在/home文件系统中生成配额时, |
/homw目录中生成空白a |
quota.user文件。最简单的方法 |
是使用touch命令: |
#touch/home/aquota.user |
一定要设置这个文件的安全性,只能让根用户访问。由于这个文件不用执行,因此可 |
以使用下列命令 |
#chmod600/aquota.user |
进行配额检查 |
现在可以用quotachcck |
-avum命令生成相应的配额文件 |
。其扫描(-a)/etc/tab中支持配额 |
的文件系统,生成冗长(-v)输出,检查用 |
户配额(-u)和重新装载扫描的文件系统(-m)。 |
对用户使用usrquota |
然后对特定用户设置配 |
额。对用户使用usquota命令。 |
例如,如果要对用户ez设置配额 |
运行下列命令: |
#edquota ez |
默认情况下,其在vi编辑器中打开用户ez的配额信息文件,例如 |
Disk quotas for user ez(uid512) |
Filesystem blocks soft hard inodes s |
oft hard |
/edv/sda3 4 |
0 0 1 0 0 |
可以看出,ez的主目录 |
中使用四个数据块 (KB)和一个i |
node。可以在每个类别中设置 |
硬极限或软极限。什么是硬极限或软极限? |
软极限 软极限是对用户分配的最大空间量或inode数。如果没有一个延展期,则这是 |
硬极限。可以用edquota-t命令设置延展期。 |
硬极限 如果有延展期,则硬极限是对用户分配的空间量或inode数的绝对极限。 |
如果设置100MB软极限和110MB硬极限,则可以编辑ez的配额如下: |
Disk quotas for user ez(uid512) |
Filesystem blocks soft hard inodes s |
oft hard |
/edv/sda3 4 |
10000 110000 1 0 0 |
启用配额 |
最后一步是启用配额,很简单。我们已经完成必要的配置工作,只要用下列命令,对 |
/home文件系统中所有配置的用户启用配额即可: |
#quotaon/home |
也可以用quotaoff/home命令取消同一文件系统中的配额。 |
组配额 |
生成组配额和生成用户配额一样容易,差别可以在六步骤中指出: |
1.修改/etc/fstab。对所选文件系统激活 |
配额选项。对于组配额,要在目标文件系统的选 |
项中增加grpquota设置。 |
2.重新装载文件系统,使改变生效。这时 |
用mount-o remount filesystem命令。 |
3.在该文件系统开头建 |
立aquota.user文件。例如,如 |
果在home中生成配额,则生成 |
/home/aquota.group文件。 |
4.扫描相应文件系统, |
用quotacheck命令生成基本配额 |
文件。用-avgm开关,-g配置 |
配额。 |
5.用edquota命令对特定组采用配额限制。 |
6.最后,用quotaon命令激活配额。 |
在rc-sysinit中激活 |
在Red Hat Linux中配置配额之后。
|
相关阅读 更多 +