0

0

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

P粉602998670

P粉602998670

发布时间:2025-08-22 11:05:01

|

802人浏览过

|

来源于php中文网

原创

确认文件系统支持配额,使用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磁盘配额 用户空间限制配置

在 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

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

英文企业网站管理系统
英文企业网站管理系统

英文企业网站管理系统(英文网站设计系统)采用主流的Asp+Access开发设计,开发新英文模板,漂亮大气。是方便自主管理的英文网站建设系统,程序小巧,速度快,后台一站式管理,代码功能全部开源,无任何限制。支持所有Asp虚拟空间,兼容良好,程序采用Div+Css设计,兼容ie6、ie7、ie8、火狐等英文浏览器,网站优化结构设计,配置网站地图,容易被搜索引擎收录,上关键词排名!欢迎大家使用。程序功能

下载
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
    检查一致性(建议在维护模式下运行)

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

相关专题

更多
default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

220

2023.12.07

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

352

2023.06.29

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2075

2023.08.14

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

347

2023.08.31

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

255

2023.09.05

vb中怎么连接access数据库
vb中怎么连接access数据库

vb中连接access数据库的步骤包括引用必要的命名空间、创建连接字符串、创建连接对象、打开连接、执行SQL语句和关闭连接。本专题为大家提供连接access数据库相关的文章、下载、课程内容,供大家免费下载体验。

323

2023.10.09

数据库对象名无效怎么解决
数据库对象名无效怎么解决

数据库对象名无效解决办法:1、检查使用的对象名是否正确,确保没有拼写错误;2、检查数据库中是否已存在具有相同名称的对象,如果是,请更改对象名为一个不同的名称,然后重新创建;3、确保在连接数据库时使用了正确的用户名、密码和数据库名称;4、尝试重启数据库服务,然后再次尝试创建或使用对象;5、尝试更新驱动程序,然后再次尝试创建或使用对象。

410

2023.10.16

vb连接access数据库的方法
vb连接access数据库的方法

vb连接access数据库方法:1、使用ADO连接,首先导入System.Data.OleDb模块,然后定义一个连接字符串,接着创建一个OleDbConnection对象并使用Open() 方法打开连接;2、使用DAO连接,首先导入 Microsoft.Jet.OLEDB模块,然后定义一个连接字符串,接着创建一个JetConnection对象并使用Open()方法打开连接即可。

400

2023.10.16

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

8

2026.01.20

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.5万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

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

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