Webmin -- Disk Quotas

本文详细介绍了磁盘配额的原理和管理,包括如何限制单个用户在Unix系统上的磁盘空间使用,设置软硬限制,以及启用和禁用配额。此外,还讲解了如何通过Webmin的DiskQuotas模块进行操作,如为用户和组设置配额,复制配额设置,以及配置grace时间。文章强调了磁盘配额在多用户环境中的重要性,确保资源公平分配。
摘要由CSDN通过智能技术生成

磁盘配额

在本文中介绍了适用磁盘配额来显示单个用户能够消耗的空间量。

一、磁盘配额介绍

在一个有多用户的系统上,经常需要限制每个用户能够占用多少磁盘空间。配额是Unix使用来对磁盘空间量执行限制以及每个用户(以及可能的组)能够拥有文件数目的机制。每个文件计入拥有它的用户的配额,并且如果组配额被使用了,文件也计入其组所有者的配额。一旦用户超过了他的配额,在删除一些文件前,他将不能创建或者增大任何文件。

配额根据每个文件系统设置,因而你可以对你系统上不同目录有不同的配额。但,这意味着如果两个目录都在相同文件系统上,则它们必须共享相同配额。仅像在本地硬盘上的ext2, ext3和xfs的Unix文件系统支持配额--虽然如果你的系统NFS挂载了一个启用配额的远程目录,它们将在服务器上实行它们。

每个用户或组有两个不同的配额,一个用于块而一个用于文件。块配额控制用户可以使用多少磁盘空间,并且用磁盘块指定块配额,,磁盘块一般大小为1KB。文件配额控制用户能够创建多少单独文件,并且是必要的,因为Unix文件系统经常对一个时间能够存在多少文件有一个限制。没有文件配额,一个用户可以在达到文件系统限制前创建数以万计的空文件,并且因此完全防止其它用户创建任何文件。

块和文件配额都有被称为软的和硬的限制。软限制是一个点,到达此点时,警告用户他接近要超出其配额了,但仍然被允许继续占用磁盘空间。硬限制是不能被超出的块或文件数目,并且做这件事的任何尝试将导致错误。两种限制都是可选的,因而你能够只有一个硬限制并且不警告他他正在达到其配额,或者只有一个软链接并且因而只警告用户配额超出了而不是实际执行它们。

如果一个用户保持超出了其软限制但没有超出硬限制长于一个设定时间段,系统将把他当作其已经超出了硬限制并且阻止创建或增大任何文件。只有当用户删除足够的文件来降低其使用到软限制之下,它才将恢复成一个警告级别。

在shell提示中,能够使用repquota和quota命令查看配额,使用edquota命令编辑配额。在每个文件系统的挂载目录中文件aquota.user和aquota.group包含向每个用户或组分配多少磁盘空间以及它们当前使用多少的实际记录。当显示和设置配额时,Webmin调用quota命令并且解析它的输出。它不使用系统调用或者直接尝试编辑配额文件。

二、磁盘配额模块

Webmin的Disk Quotas模块是在System类别下找到。当你进入这个模块,显示一个所有文件系统的列表,在其上配额可以是活跃以及它们的当前活跃状态以及是否为用户,组或者二者配置了配额。见以下一个示例。

在大多数之前从未使用配额的系统上,将不列出你的任何文件系统。这是因为配额必须首先在Disk and Network Filesystems模块中被启用。

如果你的系统没有安装quota操作命令,Webmin将在这个模块主页上显示一条错误消息并且你不能激活或编辑任何配额。但所有Linux发行版应该在它们的CD或网站上有包含了quota命令的包。

三、为一个文件系统启用配额

如果这个模块主页在对应文件系统的Status列下显示User Quotas Active(或*Group Quotas Active*),则配额已经被安装了。如果没有,要为ext2或ext3文件系统配置和开启配额,按照这些步骤:

1) 如果文件系统已经出现在此模块主页列表中,已经配置了配额并且你可以跳到第五步。

2) 进入Disk and Network Filesystems模块并且点击你想要开启配额的文件系统。

 3) 取决于你想要实行哪种配额,更改*Use Quotas?*选项为User only, Group only或者User and Group。

4) 点击*Save*按钮。如果出现一个表示文件系统已经在用的错误,只要点击*Apply to Permanent List*按钮。

5) 返回到Disk Quotas模块,你的文件系统现在应该可见。现在点击*Enable Quotas*链接激活配额。

6) 假设一切顺利,在一小段延时后,浏览器将返回到配额列表并且Status列将更改为*User Quotas Active*。

对于xfs文件系统,过程略微不同。你必须首先启用在Disk and Network Filesystems模块中*user and/or group quotas*,并且接着重启或者卸载和重新挂载文件系统。在挂载时将自动激活配额,因此不需要再Disk Quotas模块中启用它们。

四、对文件系统禁用配额

要永久地使对ext2或ext3文件系统的配额失效,按照这些步骤:

1) 在这个模块主页上,点击对应文件系统*Action*列下*Disable Quotas*。

2) 要防止在系统启动时配额被再次激活,进入Disk and Network Filesystems模块并且点击这个列表中此文件系统。

3) 更改*Use Quotas?*选项为No。

4) 点击*Save*按钮。如果出现了一条表示文件系统已经在用的错误,只要点击*Apply to Permanent List*按钮。

对于一个xfs文件系统,不需要第一步,由于配额只在文件系统被挂载时才被启用。但在第四步当保存对应文件系统的配额设置时,为了使失效生效,必须卸载并且重新挂载它。

五、为一个用户或组设置配额

在一个当前已经启用了正确类型配额的文件系统上,对应用户或组的配额能够在任何时候被设置或更改。默认,其配额还未被设置的任何用户或组将完全没有限制,并且因而能够使用你系统上所有磁盘空间。

要为用户设置配额,按照这些步骤:

1) 从此模块主页文件系统列表,点击你想要对其编辑配额的挂载点。这将显示一个列出此文件系统所有用户配额的页面,如在以下第一个图片中显示。

 2) 在User列下点击你想要编辑的用户名,或者输入用户名到*Edit Quota For*字段并且点击按钮。二者都显示一个包含这个用户当前配额设置和已用块和文件的表单,如下图所示:

 3) 设置*Soft Block Limit*和*Hard Block Limit*字段为你想要限制这个用户到的块数目,或者选择*Unlimited*为不施加任何限制。在大多数文件系统上,每个块将是大小1KB,但这不一定总是这种情况。

4) 设置*Soft File Limit*和*Hard File Limit*字段为你想要限制这个用户拥有的文件数目。

5) 点击Update按钮。新的配额设置将立即生效。

设置组配额的过程几乎相同。如果一个文件系统有启用的用户和组配额,这个模块主页对应每个文件系统有两个链接,一个对应用户以及一个对应组。

六、复制配额给多个用户

如果你在系统上有非常多的用户并且想要它们都有相同配额,有一个分别设置每个用户的更简单方法。你可以为一个用户设置你想要的配额并且复制其设置给你想要一样多的其它用户。唯一不足是在所有文件系统上复制那个配额,而不只是一个文件系统。

按照像这样的步骤复制配额:

1) 如在*Setting quotas for a user or group*部分所述,为单个源用户设置配额。

2) 在此模块主页上,输入源用户的用户名到*Edit user Quotas*页面并且按这个按钮。

3) 在出现的列出在所有文件系统上用户配额的页面上,点击*Copy Quotas*按钮。这将显示一个选择此配额设置将被复制到哪些用户的表单。

4)通过选择表单上选项之一:*All users on your system* 选择复制配额到哪些目标用户,在你系统上的所有用户将有相同的配额设置。在做了这件事后,你可能想要设置root的配额回到无限制。*Selected users*仅输入到这个选项旁边字段的用户将设置它们的配额。*Members of selected groups*输入到这个选项旁边的组的所有主和次成员将设置它们的配额。

5)点击*Copy*按钮复制这个源用户在所有文件系统上的配额到所有目标用户。

如果你使用组配额,复制一个组的设置给多个其它组也是可能的。但,用于选取要复制给哪些组的选项略微不同。*Selected users*选项被*Selected groups*替代,并且*Members of selected groups*选项被*Groups containing users*替代。后面的选项将复制给有输入用户之一作为其成员的所有组。

七、设置grace时间

当一个用户超出了其软块或文件限制时,他将仍然能够在一段特定时段最多占用磁盘空间至硬限制--grace时段。在每个文件系统上对应块配额和文件配额有单独的时期。一旦这段时间到期,就像他达到了硬限制。就如超出了块配额,不能使用更多磁盘空间块,就像它是文件配额,不能再创建更多文件。也能为组配额设置grace时期,并且如果一个文件系统启用了用户和组配额,每个都有它们自己的单独时期。

要再一个特定文件系统上为所有用户设置grace时期,按照这些步骤:

1) 从这个模块主页上文件系列表点击挂载点。这将显示所有用户和它们配额列表。

2) 点击*Edit Grace Times*按钮,这将显示一个用于编辑这个时期的表单。

3) 对于块和组,选择时期和单元。当结束时,点击Update按钮保存你的设置并且使得grace周期立即生效。

编辑一个文件系统上组grace时期的过程几乎完全相同。如果一个系统有启用的用户和组,这个模块主页对应每个文件系统有两个链接,一个对应用户而一个对应组。


八、为新用户设置默认配额

如果一个文件系统启用了用户配额,你可以配置将被赋给使用Webmin的Users和Groups模块创建的新Unix用户的块和文件配额。任何时间添加一个用户,其它模块将得到通知,因而它们可以执行其它操作。在Disk Quotas模块的情况中,操作能够是为多个文件系统上用户配额的设置。

要在一个特定文件系统上为新用户设置配额,要按照步骤是:

1) 在此模块主页上,点击你想要为其设置默认的文件系统的挂载点。这将显示用户和其配额的列表。

2) 在这页最底部是一个表单,在其中你能够设置默认的硬的和软的块和文件配额。当你完成填入时,点击*Apply*按钮。

对于新创建的Unix组没有类似设置。

九、其它操作系统

随着磁盘配额在所有Unix版本上以非常类似方式工作,这个模块在所有支持的操作系统上显示几乎一致。最大差别是某些Unix变体不支持组配额。某些操作系统(如Solaris)在在此模块中激活它们前不需要在Disk and Network Filesystems模块启用配额。如果有一个对应文件系统的配额选项,它确定了在系统启动时是否启用它们。

十、配置这个Disk Quotas模块

Disk Quotas模块仅有一些能够被更改来配置其用户界面的选项。要编辑它们,在主页上点击"Module Config"链接,其将显示一个标准配置编辑页面。以下设置在Configurable options header下可以获取:

不应该更改这个配置页面给上其它选项,由于它们是由Webmin根据你操作系统类型自动设置的。

 

 十一、模块访问控制

如在WebminUsers中描述,赋给一个Webmin用户只访问一个模块的部分功能是可能的。在Disk Quotas模块的情况中,你可以限制为哪些编辑用户和组配额,以及它们在哪些文件系统上能够被编辑。如果在你组织中有一个人,其应该被允许编辑某俄歇或所有配额,但不允许执行任何其它的管理任务。

假设你已经创建了一个访问此模块的用户,按照这些步骤设置:

1) 在Webmin Users模块中,点击你想要限制的用户名下的Available Webmin Module->System->Disk Quotas。

2) 设置*Can edit module configuration?*字段为No,因而用户不能更改用于设置和获取配额的命令。

3) 要限制在其上能够分配配额的文件系统,更改*Filesystems this user can edit*字段为Selected并且从以下列表中选择它们。

4) 设置*Can enable and disable quotas?*字段为No,除非这个用户负责在被允许文件系统上所有用户和组配额。否则,他能够关闭不允许其编辑的用户的配额。

5) 更改*Can configuration quotas for new users*字段为No,因而它不能更改被赋予在Users and Groups模块中创建的用户的配额。只在允许这个Webmin用户编辑一个文件系统上所有配额时,这个才留为Yes。

6) 如果你不想要这个Webmin用户更改grace时段,设置*Can edit user grace time?*和*Can edit group times*字段为No。

7) 要防止用户分配出大量磁盘配额,分别设置*Maximum grantable block quota*和*Maximum grantable file quotas*字段为可以被允许给任何一个用户的最多块数和文件数。不能防止他分配配额给多个用户,这些配额加起来多于这些限制。

8) 要限制其配额可以被编辑的Unix用户,把*Users this user can edit quotas for*字段从All Users更改为其它选项中的一个。最有用的是*Users with UID in range*,这访问限制于其UIDs在输入到其旁最小和最大数值之内的那些用户。允许编辑root用户的配额通常是一个馊主意,因为设置其太低可能阻碍系统创建重要PID,邮件和锁文件。假如你想要允许编辑除root外所有用户,你可以通过选择*All except users*并且输入root到其旁的字段中防止这个。要完全阻止Webmin用户编辑任何用户配额,选择*Only users*选项并且在其旁边的字段中什么不步输入。

9) 通过更改*Groups this user can edit quotas for*字段,你可以类似地限制其配额能够被编辑地组。这只在启用了组配额地文件系统上才有效。

10) 当完成时,点击Save按钮来立即应用这个限制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值