> For the complete documentation index, see [llms.txt](https://man.bsdcn.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://man.bsdcn.org/man8/edquota.8.md).

# edquota(8)

`edquota` — 编辑用户配额

## 名称

`edquota`

## 概要

`edquota [-uh] [-f fspath] [-p proto-username] username ...` `edquota [-u] -e fspath[:bslim[:bhlim[:islim[:ihlim]]]] [-e ...] username ...` `edquota -g [-h] [-f fspath] [-p proto-groupname] groupname ...` `edquota -g -e fspath[:bslim[:bhlim[:islim[:ihlim]]]] [-e ...] groupname ...` `edquota -t [-u] [-f fspath]` `edquota -t -g [-f fspath]`

## 描述

`edquota` 工具是一个配额编辑器。默认情况下，或者如果指定了 `-u` 标志，可以在命令行中指定一个或多个用户。对于每个用户，会创建一个临时文件，其中包含该用户当前磁盘配额的 ASCII 表示。具有用户配额的文件系统列表从 **`/etc/fstab`** 中确定。然后在该 ASCII 文件上调用编辑器。除非环境变量 `EDITOR` 另有指定，否则调用的编辑器是 [vi(1)](/man1/vi.1.md)。

然后可以修改配额、添加新配额等。块配额可以以字节（B）、千字节（K）、兆字节（M）、太字节（T）、拍字节（P）或艾字节（E）指定。如果未指定单位，则假定为千字节。inode 配额可以以千 inode（K）、兆 inode（M）、太 inode（T）、拍 inode（P）或艾 inode（E）指定。如果未指定单位，则使用指定的 inode 数。如果指定了 `-h` 标志，编辑器将始终以更易读的格式显示块使用量和限制，而不是以历史上的千字节格式显示。将配额设置为零表示不应施加配额。将硬限制设置为一表示不应允许任何分配。将软限制设置为一且硬限制为零表示只应临时允许分配（参见下文的 `-t`）。文件中的当前使用信息仅供参考；只能更改硬限制和软限制。

退出编辑器时，`edquota` 读取临时文件并修改二进制配额文件以反映所做的更改。

如果指定了 `-p` 选项，`edquota` 将为每个指定的用户复制所指定的原型用户的配额。这是用于初始化用户组配额的常用机制。如果被分配配额的用户是一个数字 uid 范围（例如 1000-2000），则 `edquota` 将为指定范围内的每个 uid 复制原型用户的配额。这样可以方便地为一组用户设置默认配额。相关的 uid 不必在 **`/etc/passwd`** 中已经分配。

如果指定了一个或多个 `-e` `fspath`\[:`bslim`\[:`bhlim`\[:`islim`\[:`ihlim`]]]] 选项，`edquota` 将以非交互方式在 `fspath` 引用的每个特定文件系统上设置由 `bslim`、`bhlim`、`islim` 和 `ihlim` 定义的配额。这里 `bslim` 是块数的软限制，`bhlim` 是块数的硬限制，`islim` 是文件数的软限制，`ihlim` 是文件数的硬限制。如果省略了 `bslim`、`bhlim`、`islim` 和 `ihlim` 中的任何一个值，则假定为零，因此表示不应施加特定配额。块配额可以以字节（B）、千字节（K）、兆字节（M）、太字节（T）、拍字节（P）或艾字节（E）指定。如果未指定单位，则假定为千字节。inode 配额可以以千 inode（K）、兆 inode（M）、太 inode（T）、拍 inode（P）或艾 inode（E）指定。如果未指定单位，则使用指定的 inode 数。

如果使用 `-f` 选项调用，`edquota` 将仅读取和修改由 `fspath` 指定的文件系统上的配额。`fspath` 参数可以是特殊设备或文件系统挂载点。此选项的主要目的是设置 `-p` 选项的作用范围，否则 `-p` 选项会覆盖每个有配额的文件系统上的配额记录。

如果指定了 `-g` 标志，则调用 `edquota` 来编辑命令行中指定的一个或多个组的配额。可以结合 `-g` 标志指定 `-p` 标志，以指定一个原型组在列出的组集合中复制。类似地，可以结合 `-g` 标志指定 `-e` 标志，以非交互方式在列出的组集合上设置配额。

允许用户在宽限期内超过其软限制，宽限期可以按文件系统指定。一旦宽限期到期，软限制将作为硬限制强制执行。文件系统的默认宽限期在以下文件中指定：

`#include <ufs/ufs/quota.h>`

可以使用 `-t` 标志更改宽限期。默认情况下，或者使用 `-u` 标志调用时，为 **`/etc/fstab`** 中指定的所有具有用户配额的文件系统设置宽限期。使用 `-g` 标志调用时，为 **`/etc/fstab`** 中指定的所有具有组配额的文件系统设置宽限期。宽限期可以以天、小时、分钟或秒为单位指定。将宽限期设置为零表示应施加默认宽限期。将宽限期设置为一秒表示不应授予宽限期。必须先关闭文件系统的配额，然后再重新打开，新的宽限期才能生效。

只有超级用户才能编辑配额。

## 文件

**`quota.user`** 位于具有用户配额的文件系统根目录 **`quota.group`** 位于具有组配额的文件系统根目录 **`/etc/fstab`** 用于查找文件系统名称和位置

## 诊断

有关无法访问文件的各种消息；不言自明。

## 参见

[quota(1)](/man1/quota.1.md), [quotactl(2)](/sys/quotactl.2.md), [fstab(5)](/man5/fstab.5.md), [quotacheck(8)](/man8/quotacheck.8.md), [quotaon(8)](/man8/quotaon.8.md), [repquota(8)](/man8/repquota.8.md)
