linux下多用户磁盘配额管理 联系客服

发布时间 : 星期三 文章linux下多用户磁盘配额管理更新完毕开始阅读915f523e580216fc700afde6

linux下多用户磁盘配额管理

吴培飞

(杭州职业技术学院信息电子系 杭州下沙学源街68号 310018)

摘要:本文介绍了实施磁盘配额的必要性,实现磁盘配额的条件,以及如何实施磁盘配额和配额管理,从而能够实现对用户空间的限制,避免硬盘空间的浪费。 关键词:linux;磁盘配额;文件系统

1磁盘配额的简介

在linux系统中,由于是多人多任务的环境,所以会有多人共同使用一个硬盘空间的情况发生,如果其中有少数几个使用者使用大量的硬盘空间,那么其他用户必将受到影响。因此管理员应该适当开放硬盘的权限给使用者,以便妥善分配系统资源。

Linux系统的磁盘配额功能用于限制用户所使用的磁盘空间,并且在用户使用了过多的磁盘空间或分区的空闲过少时,系统管理员会接到警告。磁盘配额可以针对单独用户进行配置,也可以针对用户组进行配置,配置的策略也比较灵活,既可以限制占用磁盘空间,也可以限制文件的数量。 2实现磁盘配额的条件

1)确保内核支持(目前市面上所有常见linux系统都支持); 2)确保做配额的分区格式是ext2或ext3格式;

只有采用linux文件系统的ext2或ext3的文件系统的磁盘分区才能进行磁盘配额。一台文件服务器,经常会建立单独的分区来存储用户数据,比如建立一个独立的分区,格式化成ext2或ext3文件系统,然后挂载到主系统上的/commpany目录上进行管理。这样我们就能对/commpany分区进行磁盘配额了。

3)确保系统安装了quota软件包。

通过rpm –qa|grep quota命令来进行查询是否安装了quota软件包,如果显示出版本号,表明系统中安装了该软件包,否则未安装。 3实现磁盘配额的过程(以sd b1分区为例)

1)创建一个sdb1分区,并格式化为ext3格式。

2)在/目录下建立目录disk,在disk目录下创建子目录sdb1,并进行挂载。 #cd /

#mkdir –p /disk/sdb1

#mount /dev/sdb1 /disk/sdb1 //挂载sdb1分区,没有添加磁盘配额功能。 3)修改/etc/fstab,添加磁盘配额功能。(一开机,文件系统能自动挂载) #vi /etc/fstab 输入:

/dev/sdb1 /disk/sdb1 ext3 defaults,usrquota,grpquota 0 0

如果要对用户实现磁盘配额,需要添加usrquota,如果需要对组成员实现磁盘配额,需要添加grpquota。

这样一开机,就能在这个分区上拥有磁盘配额功能。 4)重新对分区进行挂载,使修改有效

#mount –o remount /disk/sdb1 //重新挂载sdb1分区 #mount //查看是否已经重新挂载 显示信息如下:

/dev/sdb1 on /disk/sdb1 type ext3(rw,usrquota,grpquota) //参数usrquota、grpquota已生效 5)生成配额数据库

#cd /disk/sdb1 //切换至进行磁盘配额的分区目录 #quotacheck -augcv //检测系统并生成配额数据库 #ls –l //会生成相关数据库文件

显示aquota.group(组配额数据库文件)和aquota.user(用户配额数据库文件)两个文件。

6)对当前系统已经建立的用户jarry设置磁盘配额 #useradd jarry #passwd jarry

#edquota –u jarry //对指定的用户jarry设置磁盘配额

将磁盘空间的软限制大小设置为80KB,硬限制设置为100KB,将可建立的文件个数的软限制设置为10个,硬限制设置为15个,如图1:

图1 对用户设置磁盘配额

修改好后,保存退出。

? 第一个soft:使用数量的“软性”限制,使用者在宽限期间之内,它的容量可以超过soft,但必须要在宽限时间之内将磁盘容量降低到soft的容量限制之下。0为不限制。soft一般只是起到警告的意思,并不是真正限制。

? 第一个hard:block使用数量的“硬性”限制,绝对不能超过的容量。通常hard的值会比soft大,0为不限制。

? 第二个soft:inode文件或者目录数量的“软性”限制。 ? 第二个hard:inode文件或者目录数量的“硬性”限制。 7)启动磁盘配额

#quotaon /disk/sdb1 //指定分区磁盘配额生效 8)测试

接下来验证配置的磁盘配额功能是否生效,在/disk/sdb1目录下新建一个子目录public,权限为所有用户读取、写入、可执行,并切换到用户jarry,从目录/usr/share/doc/cipe-4.1.5中复制文件COPYING,大小为17KB,当复制到第5次时已经超出磁盘空间软限制设置的80KB,复制第6次时已经超出硬限制,不允许继续写入了。(验证成功!)

#mkdir –p /disk/sdb1/public

#chmod 777 /disk/sdb1/public #su jarry

#cp /usr/share/doc/cipe-1.4.5/COPYING /disk/sdb1/public/1 #cp /usr/share/doc/cipe-1.4.5/COPYING /disk/sdb1/public/2 #cp /usr/share/doc/cipe-1.4.5/COPYING /disk/sdb1/public/3 #cp /usr/share/doc/cipe-1.4.5/COPYING /disk/sdb1/public/4

#cp /usr/share/doc/cipe-1.4.5/COPYING /disk/sdb1/public/5(提示超过软限制80KB,但仍能复制)

#cp /usr/share/doc/cipe-1.4.5/COPYING /disk/sdb1/public/6(提示超过硬件制100KB,不允许继续写入)

4结束语

经过上面的配置,jarry用户对磁盘空间sdb1分区的软限制为80KB,硬限制为100KB,可建立的文件个数的软限制设置10个,硬限制为15个,从而实现了对用户空间的限制,避免硬盘空间的浪费。