游乐游手机版
首页/系统平台/文章详情

OpenBSD磁盘限额配置:使用Quota

时间:2026-06-19 07:44
Quota用来配置磁盘限额,既可以对用户做限制,也可以对用户组做限制。这两者可以单独配置,也可以同时使用——比如既限制某个用户,又限制他所在的组。 不少管理员第一次接触Quota,往往是在配置Samba PDC、需要对用户设置磁盘限额的时候。没接触之前,总觉得这东西很玄乎;但亲手捣鼓一两次之后,概念

Quota用来配置磁盘限额,既可以对用户做限制,也可以对用户组做限制。这两者可以单独配置,也可以同时使用——比如既限制某个用户,又限制他所在的组。

不少管理员第一次接触Quota,往往是在配置Samba PDC、需要对用户设置磁盘限额的时候。没接触之前,总觉得这东西很玄乎;但亲手捣鼓一两次之后,概念清晰了,自然也就轻车熟路——配置Quota其实没那么复杂。

下面以OpenBSD 3.8为例,简略说明如何对用户和用户组设置Quota。整个过程基本分四个步骤:

1. 确认内核支持
如果使用的是系统默认的GENERIC内核,那么Quota功能已经内置——默认的内核配置文件中已经包含了"option QUOTA"。如果没有,需要在配置文件里加上这一行,然后重新编译安装内核。编译内核的具体步骤,可参考OpenBSD FAQ5:Building the System from Source。

2. 标记需要Quota的分区
假如要对/home目录做限额,就在/etc/fstab中加上userquota和groupquota标记。例如:

/dev/wd0a / ffs rw 1 1
/dev/wd0d /home ffs rw,nodev,nosuid,userquota,groupquota 1 2

做好标记后,系统启动时(前提是rc.conf中check_quotas=YES)会在/home目录下自动生成两个文件:user.quota和group.quota,用来保存磁盘限额信息。当然也可以指定这两个文件的位置,比如:

userquota=/var/quotas/user.quota,groupquota=/var/quotas/group.quota

3. 配置Quota
Quota提供了一系列工具,这里介绍最常用的几个。

设置用户Quota
以用户bibby为例,直接运行:

# edquota bibby

系统会在默认编辑器($EDITOR)中打开类似这样的配置:

Quotas for user bibby:
/home: KBytes in use: 16, limits (soft = 0, hard = 0)
       inodes in use: 7, limits (soft = 0, hard = 0)

这里有几个概念需要搞清楚:

  • KByte:磁盘容量,单位KB。
  • soft(软限制):达到或超过该值时,系统会发出警告,但用户仍然可以继续使用磁盘。
  • hard(硬限制):真正的“天花板”。一旦达到硬限制,用户就无法再写入任何数据。
  • inode:文件和目录的数量。每个文件或目录占用一个inode。如果限制了inode,即使磁盘容量还有剩余,用户也无法创建新文件或目录。实际使用中,更多是对磁盘容量做限制,inode限制用得较少。

例如,为bibby设置2MB的软限制和3MB的硬限制,inode不做限制,配置如下:

Quotas for user bibby:
/home: KBytes in use: 16, limits (soft = 2048, hard = 3072)
       inodes in use: 7, limits (soft = 0, hard = 0)

设置组Quota
命令格式类似:

# edquota -g GROUP

4. 打开Quota功能
要让系统启动后自动启用Quota,需要在/etc/rc.conf中将check_quotas设置为YES(系统默认就是YES):

check_quotas=YES

也可以手动开启:

# quotaon -a

这个命令会根据/etc/fstab中的标记,对相应分区启用磁盘限额。查看自己的限额可以使用quota命令,查看某个用户的限额用quota -u USER。输出示例:

$ quota
Disk quotas for user bibby (uid 1000):
Filesystem KBytes quota limit grace files quota limit grace
/home      16    2048  3072       7     0     0

输出中间出现了"grace"字段,这是“宽限期”(Grace Period)。假设宽限期设为3天,用户超过软限制后,如果在3天内没有清理超限的文件,之后将无法再使用任何磁盘空间(甚至可能导致无法登录)。设置宽限期使用命令:

# edquota -t
Time units may be: days, hours, minutes, or seconds
Grace period before enforcing soft limits for users:
/home: block grace period: 0 days, file grace period: 0 days

本例对宽限期不做限制。默认情况下,只要在fstab中做了标记,系统启动就会自动启用Quota。如果需要关闭,可以运行:

# quotaoff -a

附:几个常用的小工具

  • edquota:前面已经用过。常用变体:
    - 设置用户Quota:edquota -u USER
    - 设置组Quota:edquota -g GROUP
    - 将用户bibby的配置复制给其他用户(如michael和lee):edquota -p bibby michael lee
  • repquota:报告分区的Quota使用情况。用法:repquota /quota/path,例如repquota /home
  • quotaon/quotaoff:开启/关闭Quota功能。
来源:https://www.jb51.net/os/Unix/1524.html
上一篇一步一步教你硬盘安装OpenBSD 3.6系统方法详细教程 下一篇FreeBSD Jail命令使用说明
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
微软详解Win11时间点还原 默认每24小时创建恢复点
系统平台 · 2026-06-30

微软详解Win11时间点还原 默认每24小时创建恢复点

微软今日推送了最新的 6 月可选更新,并发布博客详细解读了 Win11 全新的“时间点还原”(Point-in-time restore)功能——这一功能本质上是对系统恢复体验的一次全面升级,旨在让用户更轻松地应对电脑故障。 微软表示,面向 Windows 11 客户端用户的“时间点还原”功能现已正

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验
系统平台 · 2026-06-30

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

微软今天推送了Windows 11 26H1设备的6月可选更新KB5095091,安装完成后系统版本号会升级到Build 28000 2340。值得一提的是,这次更新并非面向所有设备,而是专门为搭载高通骁龙X2系列芯片的机型准备的——包括骁龙X2 Plus、X2 Elite和X2 Elite Ext

Win11六月可选更新KB5095093修复回收站弹窗异常
系统平台 · 2026-06-30

Win11六月可选更新KB5095093修复回收站弹窗异常

微软已悄然推送Windows 11六月可选更新,编号KB5095093。本次更新覆盖两个版本:24H2用户安装后版本号升级至Build 26100 8737,而25H2用户则更新至Build 26200 8737。 本次更新并非仅是小修小补,而是带来了多项实质性新功能。下面我们就来详细解析这些更新内

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞
系统平台 · 2026-06-30

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

科技媒体 Cult of Mac 昨日(6月23日)发布博文指出,苹果在 macOS 27 Beta 2 更新中悄然封堵了一个此前可用的后门——用户曾能通过一条终端命令绕过候补名单,直接启用新版 Siri AI,如今这一方法已失效。 简要回顾一下:在 macOS 27 Beta 1 阶段,只需在 M

微软加速Win11 25H2推送 覆盖所有符合条件家用PC
系统平台 · 2026-06-30

微软加速Win11 25H2推送 覆盖所有符合条件家用PC

近日(6月23日),科技媒体 Windows Latest 发布了一则值得关注的动态:微软已进一步扩大 Windows 11 25H2 的推送范围,所有满足硬件要求、且不受 IT 部门管理的家庭版和专业版设备,现在均可顺利接收本次更新。 此次升级有一个显著特点——采用“启用包”(eKB)方式进行推送