Linux怎么设置磁盘配额_Linux quota限制用户磁盘空间教程【进阶】

酷强君_6849

酷强君_6849

2026-04-05

255人浏览

原创

需启用quota机制精确控制linux用户/组磁盘用量:一、确认内核与文件系统支持;二、生成配额数据库;三、启用配额服务;四、设置用户配额限制;五、验证执行效果。

linux怎么设置磁盘配额_linux quota限制用户磁盘空间教程【进阶】

如果您希望在Linux系统中对用户或用户组的磁盘使用量进行精确控制,防止个别账户无限制占用文件系统空间,则需要启用并配置quota机制。以下是完成该配置的具体步骤:

一、确认内核与文件系统支持

quota功能依赖于内核模块及文件系统挂载选项的支持。需确保所用内核已编译quota支持,且目标分区使用ext4/xfs等支持配额的文件系统,并在/etc/fstab中启用相应挂载参数。

1、执行zcat /proc/config.gz | grep CONFIG_QUOTA(若启用CONFIG_IKCONFIG_PROC)或检查/boot/config-$(uname -r)中是否存在CONFIG_QUOTA=y或m。

2、运行mount | grep " /home "(以/home为例),确认输出中包含usrquota和/或grpquota选项。

3、若未启用,编辑/etc/fstab,在对应分区行末添加usrquota,grpquota(ext4)或仅保留usrquota(xfs默认支持,无需fstab显式声明)。

4、重新挂载分区:sudo mount -o remount /home。

二、生成配额数据库文件

系统需扫描文件系统并建立初始配额统计文件aquota.user与aquota.group(ext4)或直接使用xfs_quota工具管理(xfs)。此步骤为后续设置阈值提供数据基础。

1、对于ext4文件系统,切换至目标挂载点目录,例如cd /home。

2、执行sudo quotacheck -cugm /home:其中-c创建新数据库,-u启用用户配额,-g启用组配额,-m即使文件系统为只读也强制检查(可选)。

3、检查是否生成aquota.user和aquota.group文件:ls -lh aquota.*。

4、对于xfs文件系统,跳过此步,直接使用xfs_quota命令操作。

三、启用配额服务

配额数据库生成后,必须激活运行时配额策略,使内核开始监控并强制执行限制规则。

1、执行sudo quotaon -v /home启用用户与组配额(ext4)。

2、验证状态:sudo quotaon -p /home应显示user quota on与group quota on均为enabled。

3、对于xfs,配额默认随挂载启用,可通过xfs_quota -x -c 'state' /home确认User quota state: enabled。

四、为用户设置具体配额限制

通过edquota命令可交互式编辑单个用户的软硬限制,包括块数(磁盘空间)与文件数(inode)上限,软限制允许临时超出但需在宽限期前回落。

1、运行sudo edquota -u username(替换username为实际用户名)。

2、在vi编辑器中修改soft与hard列数值:第一组为块限制(单位KB),第二组为inode限制;soft值必须小于hard值,且宽限期默认为7天。

3、保存退出后,立即生效;如需批量设置,可用sudo edquota -p template_user user1 user2复制模板。

4、xfs用户则使用sudo xfs_quota -x -c 'limit -u bsoft=512000 bhard=614400 isoft=1000 ihard=1200 username' /home(单位:KB与数量)。

五、验证配额执行效果

配置完成后,需通过实际写入测试确认系统是否按设定策略拦截超额操作,同时检查警告与日志行为。

1、切换至目标用户:sudo -u username bash。

2、尝试创建大文件:dd if=/dev/zero of=testfile bs=1M count=700(超出硬限制时应报Disk quota exceeded)。

3、查看当前使用情况:quota -u username(ext4)或xfs_quota -c 'report -u username' /home(xfs)。

4、当用户达到软限制时,系统不会立即拒绝写入,但会记录警告,且宽限期倒计时启动。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

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

相关专题

更多
counta和count的区别
counta和count的区别

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

2023.11.20

2848

5

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

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

2023.06.29

2545

3

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

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

2023.08.14

3821

10

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

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

2023.08.31

2791

3

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

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

2023.09.05

927

5

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

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

2023.10.09

2487

5

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

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

2023.10.16

2487

4

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

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

2023.10.16

2833

3

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

vb连接数据库的方法有使用ADO对象库、使用OLEDB数据提供程序、使用ODBC数据源等。详细介绍:1、使用ADO对象库方法,ADO是一种用于访问数据库的COM组件,可以通过ADO连接数据库并执行SQL语句。可以使用ADODB.Connection对象来建立与数据库的连接,然后使用ADODB.Recordset对象来执行查询和操作数据;2、使用OLEDB数据提供程序方法等等。

2023.10.19

2301

3

热门下载

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

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习