感谢支持
我们一直在努力

Linux下实现磁盘配额的两种方法

用quota来实现对用户使用磁盘空间的限制


我们在配置文件共享的时候,有一个共享资源为homes,如hening登录,在cxserver中有一个abc文件夹,hening用户对这个文件夹具读写权限,


如若我们不限制hening的话,他有可能会将硬盘塞满,任何一个管理员都不希望看到这种事情,下面我们用quota来实现对用户使用磁盘空间的限制。


第一种方法:


1]首先明白一个概念,quota是针对分区的,所以我们在前面安装linux的时候单独分了一个/home区。


2]而所有的用户home目录都在/home下,现在开始在home目录下建立两个文件:


cd /home


touch quota.user


touch quota.group


chmod 600 quota.user //只允许root对这两个文件读写


chmod 600 quota.group


3]在/etc/rc.d/rc.local文件尾部加入quota启动脚本:


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


4]修改/etc/fstab文件中定义/home分区的那一行:


原内容: /dev/hda3 /home ext3 defaults 1 2


新内容: /dev/hda3 /home ext3 defaults,usrquota,grpquota 1 2


看得出来只是在defaults后面加了usrquota,grpquota而已。


注意啊,是usrquota而不是userquota,若是错了,后果难以预料。


5]重启,在启动过程中会出错,主要是因为quota在/home目录下打不到aquota.user和aquota.group两个文件,没关系,咱们进了系统以再慢慢收拾它。


6]用root登录,然后我们生成aquota.user和aquota.group两个文件:


convertquota -u /home


convertquota –g /home


若以上步骤不出错的话,我们用ls /home –al就会看到aquota.user,aquota.group两


个文件了


7]再重启,注意观察,不会再出错了。进入系统后就可以对用户home目录进行限制了。比如现在有一个test用户,我们对他进行限制:


edquota –u test #此命令将进入一个vi编辑模式,其内容如下:


Filesystem blocks soft hard inodes soft hard


/dev/hda3 0 0 0 0 0 0


注解标识: A B C D E F


在讲解各参数之前先说说限制的两种方式:soft,hard


soft:又称软限制,当用户到达这个限制以后,系统会给予警告,但仍可写入。


hard:又称硬限制,到达这个限制,就完全禁止任何写入啦。


ABC为磁盘空间的限制设置,而DEF为总文件个数的限制


A:已使用空间,无需要设置


B:用户空间使用限制,为软限制,需要设置。


C:用户空间使用限制,为硬限制,需要设置。


D:已有文件总数,无需要设置。


E:文件总数限制,为软限制,需要设置。


F:文件总数限制,为硬限制,需要设置。


我们要限制test用户使用空间100M,最多不能超过120M,文件总数为2000个,


最多不能超过2500个,设置如下:


Filesystem blocks soft hard inodes soft hard


/dev/hda3 0 102400 122880 0 2000 2500


注:空间限制是以k为单位的。


8]测试:进入自己的home目录,然后拷贝文件,若是超过120M,就不允许再写入了。


9]其它命令的使用:


复制相同调协至其它用户:


edquota –p test –u username1 username2 username3 username4……


显示某个用户当前磁盘使用情况:


quota –v username


显示所有用户当前磁盘使用情况:


repquota –a


其它的一些命令请参考相关资料。


第二种方法:


要对特定的用户使用配额,需要六个步骤:


1.修改/etc/fstab,对所选文档系统激活配额选项;


2.重新装载文档系统,使改变生效;


3.在该文档系统开头建立aquota.user文档。


4.扫描相应文档系统,用quotacheck 命令生成基本的配额文档;


5.用edquota命令,对特定用户采用配额限制;


6.最后,用quotaon命令激活配额。


下面,举例说明如何在/分区下对用户test做磁盘配额限制:


修改/etc/fstab


#vi /etc/fstab ,在


LABEL=/ / ext3 defaults 1 1 行激活磁盘配额,修改后的结果如下:


LABEL=/ / ext3 defaults,usrquota 1 1


保存退出后。


重新装载文档系统,使改变生效


重新激活/etc/fstab改变:#mount -o remount /


建立aquota.user文档


在/ 分区下生成aquota.user文档,最简单的方法是使用touch命令:


touch aquota.user ,修改aquota.user文档的权限,只让root用户访问:


chmod 600 aquota.user


进行配额检查


能够使用quotacheck -avum 命令生成相应的配额文档。


-a:扫描 /etc/fstab中支持配额的文档系统;


-v:生成冗长输出;


-u:检查用户配额;


-m:重新装载扫描的文档系统;


对用户test配置配额


运行如下命令:edquota test


LABEL=/ / ext3 defaults,usrquota 1 1


Disk quotas for user test (uid 501):


Filesystem blocks soft hard inodes soft hard


/dev/hda2 20 100000 0 6 0 0


~


进行inodes soft hard 配置。


启用配额


#quotaon / (使用quotaoff /能够取消/分区的配额配置)


至此,对/分区对test用户的配额配置就完成了。

赞(0) 打赏
转载请注明出处:服务器评测 » Linux下实现磁盘配额的两种方法
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏