0

0

linux怎么限制磁盘配额_linux设置用户存储限额【整理】

穿越時空

穿越時空

发布时间:2026-03-12 15:33:32

|

215人浏览过

|

来源于php中文网

原创

系统是否支持并启用quota需分三步确认:先检查内核模块(lsmod | grep quota),再验证挂载选项(mount | grep device含usrquota或uquota),最后确认配额已开启(quotaon或xfs_quota -x -c 'state')。

linux怎么限制磁盘配额_linux设置用户存储限额【整理】

怎么确认系统是否支持并启用了 quota

Linux 的磁盘配额不是默认开启的,得先看内核有没有编译进 quota 支持,再看文件系统挂载时有没有带上 usrquotagrpquota 选项。最直接的验证方式是运行:

mount | grep " $(df . | tail -1 | awk '{print $1}') "
,如果输出里没看到 usrquota,那即使你配了用户限额也完全不生效。

常见错误现象:跑完 setquota 没报错,但 repquota -u username 显示全是 0;或者 quota username 提示 “No filesystem mounted with quota support”。这时候八成是挂载选项漏了。

  • ext4/xfs 都支持 quota,但 xfs 用的是 uquota/gquota(不是 usrquota),且必须在 mkfs 阶段就启用(mkfs.xfs -q)或通过 xfs_quota 管理
  • 修改 /etc/fstab 后别忘了执行 mount -o remount /home(把 /home 换成你的目标挂载点)
  • 某些云主机或容器环境(比如 LXC、Docker)可能禁用了 quota 内核模块,lsmod | grep quota 返回空就说明没加载

怎么给单个用户设置硬限制和软限制

软限制(soft limit)允许用户短暂超限(比如宽限期 7 天),硬限制(hard limit)是绝对不能突破的上限。真正起作用的是硬限制,软限制只影响警告和宽限期逻辑。

以 ext4 上的 /home 为例,操作顺序固定:先关机或卸载 → 创建配额数据库 → 开启配额 → 设置限额。跳过任何一步都会导致配置不生效。

  • quotacheck -cug /home 初始化数据库(-c 创建、-u 用户、-g 组),生成 aquota.useraquota.group
  • quotaon /home 启用(不是 quotaon -a,后者依赖 fstab 标记,容易漏)
  • setquota -u username 10240 12288 0 0 /home 设置:第 3 位是软块限制(10MB),第 4 位是硬块限制(12MB),后两个 0 是 inode 软/硬限制(一般不设)
  • 宽限期用 edquota -t 修改,单位是秒,7 days 就写 604800

为什么 xfs 用户配额总不生效

xfs 的 quota 机制和 ext 完全不同:它不依赖 aquota.user 文件,也不走 setquota,而是靠 xfs_quota 工具直接操作文件系统元数据。混用 ext 工具会白忙活。

飞书多维表格
飞书多维表格

表格形态的AI工作流搭建工具,支持批量化的AI创作与分析任务,接入DeepSeek R1满血版

下载

典型错误:在 xfs 分区上照着 ext 教程跑 quotacheck,结果提示 “cannot open quotafile”,或者 quota -u username 始终显示 “no quota”。

  • 确认 xfs 是否启用了 quota:xfs_info /home | grep -i quota,输出含 uquota 才行
  • 设置用户限额必须用:xfs_quota -x -c 'limit -u bsoft=10g bhard=12g username' /home
  • xfs_quota -x -c 'report -u' /home 查看真实配额状态,quota 命令对 xfs 无效
  • xfs 不支持 per-inode 限制(即无法限制文件数量),这点和 ext 不同

配额生效后用户为啥还能写入

配额只限制“块使用量”,不阻止创建空文件、硬链接、或向已有文件追加内容(只要不触发新块分配)。更关键的是:配额检查发生在 write 系统调用返回前,但很多程序(如 rsync、cp)会先 truncate 再写,导致瞬间超限被忽略。

另一个常被忽视的点:配额统计有延迟。xfs 默认每 30 秒同步一次用量,ext4 的 quotacheck 也不是实时的。刚设完限额马上测试,很可能看到“还能写”的假象。

  • dd if=/dev/zero of=/home/username/testfile bs=1M count=15 这种明确分配新块的方式测试,比 touch 或 echo 更可靠
  • 检查是否真超限:repquota -u /homeblocks 列是否标红(表示超过硬限制)
  • 用户 home 目录若在独立分区,配额才有效;如果只是 /home/username 是子目录,而整个 /home 挂载在根分区,那配额对它无效

配额的边界很窄——它只管块数和 inode 数,不管文件大小字段、不拦截 mmap 写入、也不约束 tmpfs 或 /dev/shm。想靠它防爆盘,得先确认路径真落在配额控制的挂载点上。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

846

2023.08.22

counta和count的区别
counta和count的区别

Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

203

2023.11.20

counta和count的区别
counta和count的区别

Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

203

2023.11.20

k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

280

2023.07.24

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

516

2024.04.08

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

416

2024.04.08

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

454

2024.04.08

Docker容器化部署与DevOps实践
Docker容器化部署与DevOps实践

本专题面向后端与运维开发者,系统讲解 Docker 容器化技术在实际项目中的应用。内容涵盖 Docker 镜像构建、容器运行机制、Docker Compose 多服务编排,以及在 DevOps 流程中的持续集成与持续部署实践。通过真实场景演示,帮助开发者实现应用的快速部署、环境一致性与运维自动化。

41

2026.02.11

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号