庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>操作系统>Linux>系统管理>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

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

 作者:本站收集   日期:2005-4-12
字号选择〖 〗/ 双击滚屏 单击停止   
概述:在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关键字,
如果两者都需要,就全写入,中间可以用逗号分隔。
第五个字段:表明该文件系统(分区)是否为只读,如果是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),当用户的空间超过该值时,所有操作都无效,并会接到系统的提示。
上一篇:Linux文件系统的反删除方法    下一篇:使用RPM包对RedHat进行内核升级  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 本站收集
信息来源: 网络 录入时间: 2005-4-12
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿