当前位置:Linux教程 - Linux综合 - 在linux2.4系统中实现磁盘配额

在linux2.4系统中实现磁盘配额

  概述:在Linux2.4系统中,磁盘配额(Quota)的实现和以前的相比,在配置方面有了明显的不同,本文将以具体的实例来说明如何在linux2.4中实现磁盘配额。 环境: RedHat 7.1 quota-3.00-4 目的: 在/dev/hda1(装载点为/)文件系统中实现基于组和用户的磁盘配额。 步骤: 1.安装quota 缺省情况下,在安装系统过程中系统会自动安装quota,可以用以下命令查看您的系统中是否安装了quota: # rpm –q quota 如果没有安装,请使用rpm –ivh命令从RedHat7.1光盘中安装quota: # rpm –q quota-3.00-4.rpm 安装完成后可以用以下命令查看quota包含的文件 # rpm -ql quota /sbin/convertquota /sbin/quotacheck /sbin/quotaoff /sbin/quotaon /usr/bin/quota /usr/sbin/edquota /usr/sbin/quotastats /usr/sbin/repquota /usr/sbin/rpc.rquotad /usr/sbin/setquota /usr/share/man/man1/quota.1.gz /usr/share/man/man2/quotactl.2.gz /usr/share/man/man8/convertquota.8.gz /usr/share/man/man8/edquota.8.gz /usr/share/man/man8/quotacheck.8.gz /usr/share/man/man8/quotaoff.8.gz /usr/share/man/man8/quotaon.8.gz /usr/share/man/man8/quotastats.8.gz /usr/share/man/man8/repquota.8.gz /usr/share/man/man8/rquotad.8.gz /usr/share/man/man8/setquota.8.gz 2.建立quota数据文件 在quota-3.00-4版本中,系统使用了新的数据文件。本来根据man quotacheck的说明,假如系统当前没有数据文件存在,quotacheck将为您新建新的数据文件,但是在使用过程中,quotacheck并没有生成相应的数据文件,所以我们必须手工来进行这一工作。我们可以通过convertquota工具来实现这一点。 首先执行以下命令建立旧格式的数据文件: # cd / # toUCh quota.user # touch quota.group # chmod 600 quota..user # chmod 600 quota.group 这样我们就建立了文件权限为600的quota数据文件quota.user和quota.group。 接下来,我们使用convertquota工具生成新格式的quota数据文件: # convertquota –u / # convertquota –g / 说明:convertquota –u / 指明将装载点为/ 的quota旧格式的用户磁盘配额数据文件转换成新格式的数据文件;convertquota –g / 指明将装载点为/ 的quota旧格式的组磁盘配额数据文件转换成新格式的数据文件。 这样我们就生成了新格式的quota数据文件。 3.修改/etc/fstab,从而在/dev/hda1文件系统上实现磁盘配额 原来的/etc/fstab文件内容如下所示: # more /etc/fstab LABEL=/ / ext2 defaults 1 1 LABEL=/data /data ext2 defaults 1 2 /dev/fd0 /mnt/floppy auto noauto,owner 0 0 … 修改后的/etc/fstab文件内容如下所示: # more /etc/fstab LABEL=/ / ext2 defaults,usrquota,grpquota 1 1 LABEL=/data /data ext2 defaults 1 2 /dev/fd0 /mnt/floppy auto noauto,owner 0 0 … 说明:/etc/fstab文件的每一行由六个字段组成: 第一个字段:文件系统(分区)的注释(类似卷标); 第二个字段:文件系统的装载点; 第三个字段:文件系统类型(磁盘配额只能在ext2文件系统上实现); 第四个字段:装载文件系统是使用的选项,如果只想实现基于用户的磁盘配额,就加入usrquota关键字,只想实现基于组的磁盘配额,就加入grpqouta关键字,
[1] [2] 下一页 

如果两者都需要,就全写入,中间可以用逗号分隔。 第五个字段:表明该文件系统(分区)是否为只读,如果是0就表示只读,1表示可以读写。 第六个字段:表示系统启动执行fsck时检查的顺序。 注意:请特别注意这里的拼写,是usrquota和grpquota,不要写成userquota和groupquota。 4.在/etc/rc.d/rc.local中加入quota启动脚本 这段脚本如下所示: #!/bin/bash if [ -x /sbin/quotacheck ] then echo "Checking quotas. This may take some time..." /sbin/quotacheck -avug echo "Done" fi if [ -x /sbin/quotaon ] then echo "Turning on quota" /sbin/quotaon -avug echo "OK" fi 注意:这里需要注意的是quotacheck和quotaon文件的路径,在RedHat7.1中,这些文件的路径和以前的版本不同。请通过rpm –ql quota来确定其路径。 5.重启动系统,如果一切正常的话,quota将开始正常工作。 6.加入对用户的磁盘配额: 在quota-3.00-4可以通过两种方法实现: a.通过edquota直接编辑数据文件: 比如加入用户bye2000的磁盘配额,执行以下命令: # edquota –u bye2000 Edit block and inode quota for user bye2000: Device /dev/hda1 (/): Used 500KB, limits: soft=2000 hard=2500 Used 10 inodes, limits: soft=100 hard=110 然后直接修改即可。 b.通过setquota工具加入: 比如加入用户bye2000的磁盘配额,执行以下命令: setquota –u / 2000 2500 100 110 bye2000 以下是setquota命令用法的简单描述: setquota [ -u-g ] 装载点 软块数 硬块数 软文件数 硬文件数 用户名/组名 7.其他问题说明: a.关于所使用到的命令的详细用法,请参考各个命令的man手册; b.软限制(soft)表示当用户空间超过该值时,系统将警告用户。硬限制(hard),当用户的空间超过该值时,所有操作都无效,并会接到系统的提示。

(出处:http://www.sheup.com)


上一页 [1] [2] 

Edit block and inode quota for user bye2000: Device /dev/hda1 (/): Used 500KB, limits: soft=2000 hard=2500 Used 10 inodes, limits: soft=100 hard=110 然后直接修改即可。 b.通过setquota工具加入: 比如加入用户bye2000的磁盘配额,执行以下命令: setquota –u / 2000 2500 100 110 bye2000 以下是setquota命令用法的简单描述: setquota [ -u-g ] 装载点 软块数 硬块数 软文件数 硬文件数 用户名/组名 7.其他问题说明: a.关于所使用到的命令的详细用法,请参考各个命令的man手册; b.软限制(soft)表示当用户空间超过该值时,系统将警告用户。硬限制(hard),当用户的空间超过该值时,所有操作都无效,并会接到系统的提示。

(出处:http://www.sheup.com/)


上一页 [1] [2] [3]