Linux 磁盘配额(Disk Quota):用户磁盘空间限制全流程指南;linux限制每用户磁盘空间配额

📽 前言

在多用户共享 Linux 服务器的场景下,如何防止某个用户占满整个磁盘空间,影响系统稳定性?这时 quota 工具就扮演了重要角色。

本篇博客将基于 Ubuntu 系统,详细记录如何使用 quota 工具对用户进行磁盘空间限制,包括启用磁盘配额、设置软硬限制、理解宽限期 (grace period) 等核心操作。


📌 什么是磁盘配额(Disk Quota)?

磁盘配额机制可以限制:

  • 某个用户或用户组的 磁盘使用空间(blocks)
  • 某个用户或用户组的 文件/目录数量(inodes)

并且支持:

  • 设置软限制(soft limit):允许超限一段时间
  • 设置硬限制(hard limit):绝对不能超过
  • 设置宽限期(grace period):超限后的缓冲时间

🧱 一、安装 quota 工具

sudo apt update
sudo apt install quota

📂 二、启用配额支持的挂载点(如 /home

1. 编辑 /etc/fstab,加入挂载参数:

nano /etc/fstab
UUID=xxx  /home  ext4  defaults,usrquota  0  2

如果要限制用户组,可以加 grpquota

defaults,usrquota,grpquota

2. 重新挂载文件系统:

sudo mount -o remount /home

3. 初始化 quota 数据库:

sudo quotacheck -cum /home

4. 启用 quota 功能:

sudo quotaon /home

👤 三、设置用户磁盘限制

sudo edquota -u 用户名

编辑示例:

Filesystem   blocks         soft   hard  inodes   soft   hard
/dev/sda1     20000   1610612736  60000     100      0      0

说明:

  • blocks 单位为 KB,指该用户目前占用空间量
  • soft:单位为 KB,软限制(可超限一段时间)
  • hard:单位为 KB,硬限制(绝对不允许超过)
  • inodes:已有文件数量
  • soft:软限制文件数量
  • hard:硬限制文件数量

⏳ 四、设置宽限期(Grace Period)

sudo edquota -t

示例:

Filesystem             Block grace period     Inode grace period
/dev/mapper/LVM-home           7minutes              7days
  • Block grace period block限制的宽限期
  • Inode grace period inode限制的宽限期
  • 单位可以为seconds,minutes,hours,days

🔍 五、查看配额使用情况

查看当前用户:

quota -u 用户名

查看所有用户配额(需要 root):

sudo repquota -a

输出示例:

*** Report for /dev/sda1 ***
User      used  soft  hard  grace  files  soft  hard  grace
hehf      22000 50000 60000        100     0     0

🧲 六、配额行为测试逻辑

  • 超过 soft limit:允许写入,进入宽限期;
  • 宽限期内未恢复:宽限期过后 将强制禁止写入
  • 超过 hard limit:立即禁止写入,无宽限期。

你可以设置 soft=50MB, hard=60MB, grace=2min 来演练此逻辑。


🌟 七、实用配置建议

目标配置建议
用户不能超限soft = hard
允许短期爆发写入soft < hard + grace period
不限制文件数inode soft = 0, hard = 0

📁 附录:常用命令速查表

命令功能
sudo apt install quota安装 quota 工具
sudo edquota -u 用户设置用户配额
sudo edquota -t设置宽限期
sudo quotaon /home启用 quota
sudo quotacheck -cum /home初始化数据库
quota -u 用户查看配额使用
repquota -a查看所有用户配额

💬 欢迎交流

如果你在使用 quota 时遇到任何问题,欢迎留言交流,也欢迎转载本文到其他平台帮助更多 Linux 用户。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值