Linux edquota 命令及实际示例

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,我们将探索 Linux 的 edquota 命令,并学习如何在 Linux 文件系统上管理磁盘配额。我们将从理解磁盘配额的概念开始,磁盘配额允许系统管理员限制用户或组可以消耗的磁盘空间量。然后,我们将学习如何在 Linux 文件系统上启用磁盘配额,并使用 edquota 命令来设置和管理用户磁盘配额。本实验将提供实际示例和逐步说明,帮助你有效地管理 Linux 环境中的磁盘空间使用情况。

Linux 命令速查表


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("`Linux`")) -.-> linux/BasicFileOperationsGroup(["`Basic File Operations`"]) linux(("`Linux`")) -.-> linux/FileandDirectoryManagementGroup(["`File and Directory Management`"]) linux(("`Linux`")) -.-> linux/SystemInformationandMonitoringGroup(["`System Information and Monitoring`"]) linux(("`Linux`")) -.-> linux/UserandGroupManagementGroup(["`User and Group Management`"]) linux/BasicFileOperationsGroup -.-> linux/chown("`Ownership Changing`") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("`Directory Creating`") linux/SystemInformationandMonitoringGroup -.-> linux/df("`Disk Space Reporting`") linux/SystemInformationandMonitoringGroup -.-> linux/du("`File Space Estimating`") linux/SystemInformationandMonitoringGroup -.-> linux/mount("`File System Mounting`") linux/UserandGroupManagementGroup -.-> linux/useradd("`User Adding`") linux/UserandGroupManagementGroup -.-> linux/usermod("`User Modifying`") subgraph Lab Skills linux/chown -.-> lab-422658{{"`Linux edquota 命令及实际示例`"}} linux/mkdir -.-> lab-422658{{"`Linux edquota 命令及实际示例`"}} linux/df -.-> lab-422658{{"`Linux edquota 命令及实际示例`"}} linux/du -.-> lab-422658{{"`Linux edquota 命令及实际示例`"}} linux/mount -.-> lab-422658{{"`Linux edquota 命令及实际示例`"}} linux/useradd -.-> lab-422658{{"`Linux edquota 命令及实际示例`"}} linux/usermod -.-> lab-422658{{"`Linux edquota 命令及实际示例`"}} end

理解磁盘配额概念

在这一步骤中,我们将探讨 Linux 中的磁盘配额概念。磁盘配额是一种系统,允许系统管理员限制用户或组在文件系统上可以消耗的磁盘空间量。

磁盘配额通常用于共享环境,例如 Web 托管或云计算,其中多个用户或应用程序使用相同的存储资源。通过设置磁盘配额,系统管理员可以确保没有单个用户或应用程序能够独占可用存储空间,并且所有用户都能公平地分享资源。

为了理解磁盘配额的概念,让我们考虑以下场景:

假设你有一个总容量为 100 GB 的文件系统。你有三个用户,Alice、Bob 和 Charlie,他们都在使用这个文件系统。如果没有磁盘配额,每个用户都有可能占用整个 100 GB 的存储空间,导致其他两个用户没有可用空间。

通过磁盘配额,你可以为每个用户设置存储空间的使用限制。例如,你可以为 Alice 设置 30 GB 的配额,为 Bob 设置 30 GB 的配额,为 Charlie 设置 40 GB 的配额。这样可以确保每个用户都能公平地分享可用存储空间,而不会让单个用户独占资源。

磁盘配额可以在用户级别、组级别或两者同时设置。系统管理员还可以为每个用户或组设置软限制和硬限制。软限制是一个警告阈值,当用户接近其配额时会收到通知。硬限制是一个严格的限制,即使用户尝试超出配额,也无法突破。

在下一步中,我们将学习如何在 Linux 文件系统上启用磁盘配额,并使用 edquota 命令管理用户磁盘配额。

在 Linux 文件系统上启用磁盘配额

在这一步骤中,我们将学习如何在 Linux 文件系统上启用磁盘配额。

首先,让我们为文件系统创建一个新目录并挂载它:

sudo mkdir /quota_fs
sudo mount -t ext4 -o usrquota,grpquota /dev/vdb1 /quota_fs

usrquotagrpquota 选项分别启用了文件系统上的用户配额和组配额。

接下来,我们需要创建必要的配额文件:

sudo quotacheck -cum /quota_fs

此命令在文件系统的根目录下创建 aquota.useraquota.group 文件,用于存储配额信息。

现在,我们需要启用配额系统:

sudo quotaon -a

此命令为所有启用了配额的文件系统启用配额系统。

为了验证配额系统是否已启用,我们可以使用 repquota 命令:

sudo repquota /quota_fs

示例输出:

*** Report for user quotas on device /quota_fs
-----------------------------------------------------------------------------
User            used    soft    hard  grace
-----------------------------------------------------------------------------
root      --      0       0       0
labex     --      0       0       0

输出显示配额系统已启用,并且当前没有为 rootlabex 用户设置配额。

在下一步中,我们将学习如何使用 edquota 命令管理用户磁盘配额。

使用 edquota 命令管理用户磁盘配额

在这一步骤中,我们将学习如何使用 edquota 命令管理用户磁盘配额。

首先,让我们创建一个名为 alice 的新用户,并将其添加到我们在上一步中创建的文件系统中:

sudo useradd -m alice
sudo usermod -a -G labex alice
sudo chown -R alice:labex /quota_fs

现在,我们可以使用 edquota 命令为 alice 用户设置磁盘配额:

sudo edquota -u alice

这将打开默认文本编辑器(通常是 nano)中的配额编辑器。你应该会看到类似以下内容:

Disk quotas for user alice (uid 1001):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /quota_fs                        0       50000      60000          0       500       600

在这里,我们可以为 alice 用户设置以下配额限制:

  • 软块限制:50,000 块
  • 硬块限制:60,000 块
  • 软 inode 限制:500 inodes
  • 硬 inode 限制:600 inodes

完成更改后,保存并退出编辑器。

为了验证配额设置,我们可以使用 repquota 命令:

sudo repquota /quota_fs

示例输出:

*** Report for user quotas on device /quota_fs
-----------------------------------------------------------------------------
User            used    soft    hard  grace
-----------------------------------------------------------------------------
root      --      0       0       0
alice     --      0   50000   60000
labex     --      0       0       0

输出显示 alice 用户的软限制为 50,000 块,硬限制为 60,000 块。

在下一步中,我们将验证你在本实验中学到的步骤。

总结

在本实验中,我们学习了 Linux 中的磁盘配额概念,它允许系统管理员限制用户或组在文件系统上可以消耗的磁盘空间量。接着,我们学习了如何通过挂载文件系统并设置适当的选项来启用磁盘配额。最后,我们探索了如何使用 edquota 命令管理用户磁盘配额。

Linux 命令速查表

您可能感兴趣的其他 Linux 教程