系统管理指南:高级管理

更改和删除 UFS 配额

您可以更改配额,以调整用户可以占用的磁盘空间量或 inode 数量。还可以根据需要,为各用户或从整个文件系统中删除配额。

下表介绍了用于更改配额或删除配额的命令。

表 7–3 用于更改和删除 UFS 配额的命令

命令 

手册页 

说明 

edquota

edquota(1M)

更改每个用户的 inode 数量或磁盘空间量的硬限制和软限制。此外,还要更改具有配额的每个文件系统的软限制。  

quotaoff

quotaon(1M)

禁用指定文件系统的配额。 

Procedure如何更改软限制缺省值

缺省情况下,用户可以超过其 UFS 配额软时间限制一周。因此,在重复违反磁盘空间配额或 inode 配额软时间限制一周后,系统将禁止用户使用更多的 inode 或磁盘块。

使用 edquota 命令可以更改用户可超过其磁盘空间配额或 inode 配额的时间长度。

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 使用配额编辑器创建包含软时间限制的临时文件。


    # edquota -t
    

    其中,-t 选项指定为每个文件系统编辑软时间限制。

  3. 将时间限制从 0(缺省值)更改为指定的时间限制。因此,可使用数字和关键字 monthweekdayhourminsec


    注 –

    此过程不会影响当前的配额违反者。



示例 7–8 更改软限制缺省值

以下示例显示了 edquota 命令在某一系统(其中 /export/home 是唯一具有配额的已挂载文件系统)中打开的临时文件的内容。缺省值 0 表示使用的缺省时间限制为一周。


fs /export/home blocks time limit = 0 (default), files time limit = 0 (default)

以下示例显示了在将超过块配额的时间限制更改为 2 周之后的同一临时文件。而且,超过文件数的时间限制已更改为 16 天。


fs /export/home blocks time limit = 2 weeks, files time limit = 16 days

Procedure如何更改用户的 UFS 配额

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 使用配额编辑器打开临时文件,对于在文件系统的根目录中具有 quotas 文件的每个已挂载文件系统,该文件都包含一行配额信息。


    # edquota username
    

    其中,username 指定要更改其配额的用户名。


    注意 – 注意 –

    可以将多个用户指定为 edquota 命令的参数。但不显示此信息所属的用户。为避免混乱,请仅指定一个用户名。


  3. 指定 1 KB 磁盘块的数量(软限制和硬限制)和 inode 数量(软限制和硬限制)。

  4. 验证是否已正确更改了用户的 UFS 配额。


    # quota -v username
    
    -v

    显示已启用配额的所有已挂载文件系统中的用户 UFS 配额信息。

    username

    指定要检查其配额的用户名。


示例 7–9 更改用户的 UFS 配额

以下示例显示了由 edquota 命令打开的临时文件的内容。在打开此临时文件的系统中,/files 是在文件系统的根目录中包含 quotas 文件的唯一已挂载文件系统。


fs /files blocks (soft = 0, hard = 0) inodes (soft = 0, hard = 0)

以下输出显示了更改配额后的同一临时文件。


fs /files blocks (soft = 0, hard = 500) inodes (soft = 0, hard = 100)


示例 7–10 验证是否已更改了硬 UFS 配额

以下示例解释如何验证用户 smith 的硬配额已更改为 500 个 1 KB 块和 100 个 inode。


# quota -v smith
Disk quotas for smith (uid 12):
Filesystem  usage  quota  limit  timeleft  files  quota  limit  timeleft
 
  /files     1       0     500              1       0     100

Procedure如何禁用用户的 UFS 配额

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 使用配额编辑器创建一个临时文件,对于在顶层目录中包含 quotas 文件的每个已挂载文件系统,该临时文件都包含一行配额信息。


    # edquota username
    

    其中,username 指定要禁用其配额的用户名。


    注意 – 注意 –

    可以将多个用户指定为 edquota 命令的参数。但不显示此信息所属的用户。为避免混乱,请仅指定一个用户名。


  3. 将 1 KB 磁盘块的数量(软限制和硬限制)更改为 0。

  4. 将 inode 的数量(软限制和硬限制)更改为 0。


    注 –

    确保将上述值更改为零。请从文本文件中删除该行。


  5. 验证是否已禁用用户的 UFS 配额。


    # quota -v username
    
    -v

    显示已启用配额的所有已挂载文件系统中的用户 UFS 配额信息。

    username

    指定要检查其 UFS 配额的用户名 (UID)。


示例 7–11 禁用用户的 UFS 配额

以下示例显示了由 edquota 命令在某一系统中打开的临时文件的内容,在该系统中,/files 是在文件系统的根目录中包含配额文件的唯一已挂载文件系统。


fs /files blocks (soft = 50, hard = 60) inodes (soft = 90, hard = 100)

以下示例显示了禁用 UFS 配额后的同一临时文件。


fs /files blocks (soft = 0, hard = 0) inodes (soft = 0, hard = 0)

Procedure如何禁用 UFS 配额

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 禁用文件系统配额。


    # quotaoff [-v] -a filesystem ...
    
    -v

    显示禁用 UFS 配额时每个文件系统中的消息。

    -a

    禁用所有文件系统的 UFS 配额。

    filesystem

    禁用指定的一个或多个文件系统的 UFS 配额。指定多个文件系统时,需要用空格来分隔每个文件系统的名称。


示例 7–12 禁用配额

以下示例说明如何为 /export/home 文件系统禁用配额。


# quotaoff -v /export/home
/export/home: quotas turned off