配额允许您指定磁盘存储的两个方面的限制:用户或一组用户可能拥有的inode的数量; 以及可以分配给用户或一组用户的磁盘块的数量。 配额背后的想法是用户被迫保持在其磁盘消耗限制之下,消除了在系统上消耗无限磁盘空间的能力。 基于每个文件系统,每个用户处理配额。 如果有多个文件系统需要用户创建文件,则必须分别为每个文件系统设置配额。 您可以使用各种工具来管理和自动化系统上的配额策略。
安装。
您可以直接在ubuntu系统上运行安装配额:
sudo apt-get install quota
对于Debian使用没有sudo的install命令:
apt-get install quota
此命令应该在您的系统上安装配额。 安装完成后,我们将在设置中进一步编辑我们的/ etc / fstab文件:
sudo -
nano /etc/fstab
你可能会把你的fstab文件打开,看起来像:
您可以将上述行添加到您想要的驱动器的fstab文件中,以便在配额下使用。 您可以根据要求将usrquota更改为grpquota。 接下来,您将不得不重新启动系统,或者您可以直接输入:
mount -o remount /your_drive rw (this will or your partition on which quota was selected)
上述应该做的而不是重新启动的技巧。 您还可以选择编辑/ etc / fstab文件,您可以使用:
mount -o remount,usrquota /your_drive rw
上面的commmannd将会将特定的驱动器添加到配额下,直到下一次重启。 您可以根据要求将usrquota更改为grpquota。 如果您只是尝试用于教育目的的配额工具,也可以使用它。 现在我们已经在所需的驱动器上安装并启动了配额系统。 你可能想添加一个对crontab的quotacheck你可以这样做:
nano /etc/crontab
并添加以下内容:
这将有助于定期(每周)运行quotacheck。 虽然quotacheck本身定期工作。
创建配额文件系统。
在重新安装每个启用配额的文件系统之后,系统能够使用磁盘配额。 <然而,文件系统本身尚未准备好支持配额。 下一步是运行quotacheck命令。
quotacheck -cug /your_drive
-c选项指定应为启用配额的每个文件系统创建配额文件,-u选项指定检查用户配额,而-g选项指定检查组配额。 使用没有-u或-g规范的abobe命令将导致usrquota(-u)的defult选项。 你可以看看下面的其他选项:
为特定用户或组分配配额。
在进行配额之前,我们将必须知道我们将进一步挖掘的硬限制Soft Limit和Inode:
软限制:软限制指示配额用户在分区上具有的最大磁盘使用量。 当与宽限期结合时,它作为边界线,配额用户在通过时就会发出关于他即将发生的配额违规的警告。
硬限制:硬限制仅在宽限期设置时有效。 它指定磁盘使用的绝对限制,配额用户不能超出其硬限制。
宽限期:使用命令“edquota -t”执行,宽限期是在启用配额的文件系统强制执行软限制之前的时间限制。 可以使用sec(onds),min(ute),hour(s),day(s),week(s)和month的时间单位。
您可能有两个选项来分配配额。 edquota commmand和setquota命令。 我们从setquota命令开始,这是一个命令行配额编辑器。 可以在命令行中指定此文件系统的文件系统,用户/组名称和新配额。 请注意,如果在用户/组名称的地方给出了一个数字,则将其视为UID / GID。
SYNOPSIS setquota [ -rm ] [ -u | -g ] [ -F quotaformat ] name block-softlimit block-hardlimit inode-softlimit inode-hardlimit -a | filesystem... setquota [ -rm ] [ -u | -g ] [ -F quotaformat ] [ -p protoname ] name -a | filesystem... setquota -b [ -rm ] [ -u | -g ] [ -F quotaformat ] -a | filesystem... setquota -t [ -u | -g ] [ -F quotaformat ] block-grace inode-grace -a | filesystem... setquota -T [ -u | -g ] [ -F quotaformat ] name block-grace inode-grace -a | filesystem...
您可以通过键入以下命令来使用该命令:
setquota -u linux 100 200 10 15 -a /your_drive
在上述命令中,您将对用户linux设置限制。 您可以通过键入以下内容查看输出或效果:
repquota /your_drive
现在在上图中,用户的linux已经超过了由++符号表示的块和文件限制。 因为软和硬限制集是100,并且已经使用了31980个内存块,文件也是如此。 您可能还想了解更多关于“setquota”命令,您可以继续输入:
man setquota
从edquota命令开始。 这是一个配额编辑器。 一个或多个用户或组可能在命令行中指定。 如果在用户/组名称的地方给出了一个数字,则将其视为UID / GID。 对于每个用户或组,将使用该用户或组的当前磁盘配额的ASCII表示创建临时文件,然后在该文件上调用编辑器。 然后可以修改配额,添加新配额等。将配额设置为零表示不应强制配额。
您可以通过键入以下命令来使用该命令:
edquota username (for users)
edquota -g groupname (for groups)
edquota使用由EDITOR环境变量定义的文本编辑器。
这是它看起来更多还是更不喜欢。 第一列是为其启用配额的文件系统的名称。 第二列显示用户当前使用的块数。 接下来的两列用于为文件系统上的用户设置软和硬块限制。 inodes列显示用户当前使用的inode数。 最后两列用于为文件系统上的用户设置软和硬的inode限制。 硬块限制是用户或组可以使用的绝对最大磁盘空间量。 一旦达到此限制,则不能再使用更多的磁盘空间。 软块限制定义了可以使用的最大磁盘空间量。 然而,与硬限制不同,软限制可以超过一定的时间。 那时候被称为宽限期。 宽限期可以表示为秒,分,小时,天,周或月。 如果任何值设置为0,则该限制未设置。 在文本编辑器中,更改所需的限制。 您可以在手册页中查看更多详细信息:
man edquota
之后,您可以自己检查用户限制:
quota username
它会显示如下输出:
*标记表示用户已超出其限制。 上述命令也可以用于组:
quota -g grpname (for group)
这是所有的配额分配。 现在让我们看看更多的命令。
repquota /
上述命令将为您提供配额的完整状态。
quotaon -a (starting quota on all file systems.)
这是向系统通知在一个或多个文件系统上应启用磁盘配额的命令。 文件系统配额文件必须存在于指定文件系统的根目录中,并命名为aquota.user (用于版本2用户配额), quota.user (对于版本1用户配额), aquota.group (对于版本2组配额)或quota.group (对于版本1组配额)。 默认情况下,系统在启动时使用该命令。
quotaoff -a (stopping quota on all file systems.)
该命令向系统通知指定的文件系统应该关闭任何磁盘配额。 此命令在关机时在系统上默认运行。
这将是Linux配额的结束。