如何设置Linux磁盘配额 用户空间限制配置

发布时间 - 2025-08-22 00:00:00    点击率:

确认文件系统支持配额,使用df -t和grep config_quota检查;2. 修改/etc/fstab添加usrquota选项并重新挂载;3. 对于ext4创建aquota.user文件并运行quotacheck,xfs使用xfs_quota命令初始化;4. 使用quotaon或xfs_quota启用配额;5. 通过edquota、setquota或xfs_quota设置用户空间限制;6. 使用edquota -t或setquota -t设置宽限期;7. 使用quota、repquota或xfs_quota report查看配额状态;8. 确保系统启动时自动启用配额服务,最终实现对用户磁盘使用的有效控制。

在 Linux 系统中,磁盘配额(Disk Quota)是一种限制用户或用户组磁盘使用空间的机制,常用于多用户环境,防止个别用户占用过多磁盘资源。下面详细介绍如何配置 Linux 用户空间限制的磁盘配额。


一、确认文件系统支持配额

Linux 磁盘配额依赖于文件系统支持,通常 ext4、ext3、xfs 等主流文件系统都支持。
首先确认你的文件系统类型:

df -T /home

输出中查看

Type
是否为
ext4
xfs

然后确保内核已启用配额支持:

grep CONFIG_QUOTA /boot/config-$(uname -r)

应看到

CONFIG_QUOTA=y
=m
,表示支持。


二、挂载文件系统时启用配额

要启用配额,必须在挂载时添加相应的选项。以

/home
分区为例(通常用于用户目录):

1. 修改
/etc/fstab

找到挂载

/home
的行,添加
usrquota
(用户配额)选项:

/dev/sda3  /home  ext4  defaults,usrquota  0  2
  • usrquota
    :启用用户配额
  • grpquota
    :如果还需要组配额,可同时添加
注意:如果是 XFS 文件系统,通常不需要在 fstab 中加 usrquota,因为 XFS 配额管理方式略有不同,但挂载选项仍可使用 uquota。

2. 重新挂载分区

mount -o remount /home

或重启系统使

fstab
生效。


三、创建配额数据库文件

不同文件系统创建方式不同:

对于 ext4/ext3

进入挂载点目录,创建配额文件:

cd /home
touch aquota.user
chmod 600 aquota.user

然后生成配额数据库:

quotacheck -cum /home
  • -c
    :创建配额文件
  • -u
    :检查用户配额
  • -m
    :不检查远程文件系统

运行后会生成

aquota.user
文件。

对于 XFS

使用

xfs_quota
命令:

xfs_quota -x -c 'enable -u' /home
xfs_quota -x -c 'initialize /home'

四、启用配额

ext4 系统:

quotaon /home

查看状态:

quotaon -p /home

XFS 系统:

xfs_quota -x -c 'enable -u' /home

五、设置用户配额

方法一:使用
edquota
(适用于 ext4)

edquota username

会打开编辑器,显示如下内容:

Disk quotas for user username (uid 1001):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sda3                      4000       5000       6000         50       0        0
  • blocks
    :已使用块数(1 block = 1KB)
  • soft
    :软限制(可临时超过,有宽限期)
  • hard
    :硬限制(绝对不能超过)
  • inodes
    :限制文件数量(可设为 0 表示不限)

例如设置用户最多使用 1GB 空间:

  • soft: 900000(约 900MB)
  • hard: 1000000(约 1GB)

保存退出即可。

方法二:使用
setquota
(非交互式)

setquota -u username 900000 1000000 0 0 /home

格式:

setquota -u 用户名 软块 硬块 软inode 硬inode 分区

方法三:XFS 使用
xfs_quota

xfs_quota -x -c 'limit -u bsoft=900m bhard=1g username' /home

六、设置宽限期(Grace Period)

当用户超过软限制时,可以设置允许其临时超限的时间:

edquota -t

设置块和 inode 的宽限期,例如 7 天。

或使用命令:

setquota -t 7days 7days /home

七、查看配额使用情况

quota username

查看自己配额:

quota

查看所有用户配额报告:

repquota /home

XFS 查看:

xfs_quota -c 'report -h' /home

八、自动启动配额

大多数现代 Linux 发行版(如 CentOS、Ubuntu)在启用配额后,会通过系统服务自动在启动时运行

quotaon

确认服务是否启用:

systemctl enable quota

或检查

/etc/default/quota
(Debian/Ubuntu)确保配置正确。


注意事项

  • 配额只对普通用户有效,root 用户默认不受限制(但可以启用
    usrjquota
    来限制 root)
  • 配额基于文件属主,不适用于符号链接或共享文件
  • 修改配额后无需重启,立即生效
  • 定期使用
    quotacheck
    检查一致性(建议在维护模式下运行)

基本上就这些。配置磁盘配额不复杂,但关键步骤不能跳过:启用挂载选项、生成配额文件、开启服务、设置限制。只要按顺序操作,就能有效控制用户磁盘使用。


# linux  # centos  # default  # 数据库  # ubuntu  # debian  # 文件系统  # 重启  # 启动时  # 有效控制  # 是一种  # 就能  # 最多  # 设为  # 适用于  # 要在 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何处理CORS跨域请求?(配置示例)  ,交易猫的商品怎么发布到网站上去?  高性价比服务器租赁——企业级配置与24小时运维服务  微信小程序 canvas开发实例及注意事项  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  Laravel如何处理表单验证?(Requests代码示例)  如何在七牛云存储上搭建网站并设置自定义域名?  北京的网站制作公司有哪些,哪个视频网站最好?  西安专业网站制作公司有哪些,陕西省建行官方网站?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  网站制作价目表怎么做,珍爱网婚介费用多少?  如何在IIS中新建站点并解决端口绑定冲突?  🚀拖拽式CMS建站能否实现高效与个性化并存?  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  新三国志曹操传主线渭水交兵攻略  javascript日期怎么处理_如何格式化输出  使用豆包 AI 辅助进行简单网页 HTML 结构设计  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  Laravel如何与Inertia.js和Vue/React构建现代单页应用  活动邀请函制作网站有哪些,活动邀请函文案?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  ,网页ppt怎么弄成自己的ppt?  黑客如何利用漏洞与弱口令入侵网站服务器?  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  js实现点击每个li节点,都弹出其文本值及修改  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  Laravel如何生成API文档?(Swagger/OpenAPI教程)  lovemo网页版地址 lovemo官网手机登录  如何在服务器上三步完成建站并提升流量?  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  C++用Dijkstra(迪杰斯特拉)算法求最短路径  如何生成腾讯云建站专用兑换码?  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  EditPlus中的正则表达式 实战(1)  如何在万网ECS上快速搭建专属网站?  php结合redis实现高并发下的抢购、秒杀功能的实例  Thinkphp 中 distinct 的用法解析  详解MySQL数据库的安装与密码配置  济南网站建设制作公司,室内设计网站一般都有哪些功能?  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  如何续费美橙建站之星域名及服务?  敲碗10年!Mac系列传将迎来「触控与联网」双革新  阿里云高弹*务器配置方案|支持分布式架构与多节点部署