企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
磁盘限额用来限制磁盘空间大小和/或用户(或用户组)可用的文件数。The quotas are allocated on a per-file system basis and are enforced by the kernel. ## Linux 设置 Quota 工具包通常已安装,其包含一些命令行工具。 在 fstab 中激活用户配额并重新挂载分区。如果分区正在使用,关闭所有使用的文件,或者重启系统。添加 `usrquota` 到 fstab 的挂载类型中,举个例子: /dev/sda2     /home    reiserfs     rw,acl,user_xattr,usrquota 1 1 # mount -o remount /home # mount                              # 检查 usrquota 已经激活,否则重启 用 `quotacheck` 初始化 quota.user 文件。 # quotacheck -vum /home # chmod 644 /home/aquota.user        # 让用户检查自己的配额 用脚本(e.g. SuSE 的 /etc/init.d/quotad)或 `quotaon` 来启用限额: quotaon -vu /home 检查配额启用情况: quota -v ## FreeBSD 设置 Quota 工具是 FreeBSD 基本系统的一部分,然而内核需要 quota 选项。如果不存在,新增它并[重新编译](http://cb.vu/unixtoolbox_zh_CN.xhtml#compilekernel)内核。 options QUOTA 与 Linux 一样,添加限额到 fstab 选项(是 userquota,而不是 usrquota)中: /dev/ad0s1d    /home    ufs     rw,noatime,userquota    2  2 # mount /home                        # 重新挂载分区 在 /etc/rc.conf 中启用磁盘限额并开启 quota 服务。 # grep quotas /etc/rc.conf enable_quotas="YES"                  # 在启动时打开限额(或者 "NO") check_quotas="YES"                   # 在启动时检查限额(或者 "NO") # /etc/rc.d/quota start ## 分配限额 磁盘限额默认并不限制(设置为0)。用 `edquota` 来对单用户进行限制。一个 quota 也可给许多用户复用。虽然 quota 实现之间的文件结构不同,但其原理是相同的:限制节点(inodes)数量以及使用者可以取用的磁盘区块数量。_Only change the values of soft and hard_. 如果未指定,默认区块大小为 1k。使用 `edquota -t` 设置 grace 时间。举个例子: # edquota -u colin ### Linux Disk quotas for user colin (uid 1007):   Filesystem         blocks       soft       hard     inodes     soft     hard   /dev/sda8            108       1000       2000          1        0        0 ### FreeBSD Quotas for user colin: /home: kbytes in use: 504184, limits (soft = 700000, hard = 800000)    inodes in use: 1792, limits (soft = 0, hard = 0) ## 给许多用户分配限额 命令 `edquota -p` 用来复用一个 quota 给其他用户。举个例子,复用所指用户的限额给所有用户: # edquota -p refuser `awk -F: $3 > 499 {print $1}' /etc/passwd` # edquota -p refuser user1 user2     # 复用给 2 个用户 ## 检查 用户只需输入 `quota` (文件 quota.user 必须可读) 来可以检查他们的限额。Root 可以查看所有用户的限额。 # quota -u colin                     # 查看用户的限额 # repquota /home                     # 所有用户在这个分区上的限额情况