磁盤(pán)限額用來(lái)限制磁盤(pán)空間大小和/或用戶(或用戶組)可用的文件數(shù)。The quotas are allocated on a per-file system basis and are enforced by the kernel.
Quota 工具包通常已安裝,其包含一些命令行工具。
在 fstab 中激活用戶配額并重新掛載分區(qū)。如果分區(qū)正在使用,關(guān)閉所有使用的文件,或者重啟系統(tǒng)。添加 usrquota
到 fstab 的掛載類型中,舉個(gè)例子:
/dev/sda2 /home reiserfs rw,acl,user_xattr,usrquota 1 1
# mount -o remount /home
# mount # 檢查 usrquota 已經(jīng)激活,否則重啟
用 quotacheck
初始化 quota.user 文件。
# quotacheck -vum /home
# chmod 644 /home/aquota.user # 讓用戶檢查自己的配額
用腳本(e.g. SuSE 的 /etc/init.d/quotad)或 quotaon
來(lái)啟用限額:
quotaon -vu /home
檢查配額啟用情況:
quota -v
Quota 工具是 FreeBSD 基本系統(tǒng)的一部分,然而內(nèi)核需要 quota 選項(xiàng)。如果不存在,新增它并重新編譯內(nèi)核。
options QUOTA
與 Linux 一樣,添加限額到 fstab 選項(xiàng)(是 userquota,而不是 usrquota)中:
/dev/ad0s1d /home ufs rw,noatime,userquota 2 2
# mount /home # 重新掛載分區(qū)
在 /etc/rc.conf 中啟用磁盤(pán)限額并開(kāi)啟 quota 服務(wù)。
# grep quotas /etc/rc.conf
enable_quotas="YES" # 在啟動(dòng)時(shí)打開(kāi)限額(或者 "NO")
check_quotas="YES" # 在啟動(dòng)時(shí)檢查限額(或者 "NO")
# /etc/rc.d/quota start
磁盤(pán)限額默認(rèn)并不限制(設(shè)置為0)。用 edquota
來(lái)對(duì)單用戶進(jìn)行限制。一個(gè) quota 也可給許多用戶復(fù)用。雖然 quota 實(shí)現(xiàn)之間的文件結(jié)構(gòu)不同,但其原理是相同的:限制節(jié)點(diǎn)(inodes)數(shù)量以及使用者可以取用的磁盤(pán)區(qū)塊數(shù)量。Only change the values of soft and hard. 如果未指定,默認(rèn)區(qū)塊大小為 1k。使用 edquota -t
設(shè)置 grace 時(shí)間。舉個(gè)例子:
# edquota -u colin
Disk quotas for user colin (uid 1007):
Filesystem blocks soft hard inodes soft hard
/dev/sda8 108 1000 2000 1 0 0
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
用來(lái)復(fù)用一個(gè) quota 給其他用戶。舉個(gè)例子,復(fù)用所指用戶的限額給所有用戶:
# edquota -p refuser `awk -F: $3 > 499 {print $1}' /etc/passwd`
# edquota -p refuser user1 user2 # 復(fù)用給 2 個(gè)用戶
用戶只需輸入 quota
(文件 quota.user 必須可讀) 來(lái)可以檢查他們的限額。Root 可以查看所有用戶的限額。
# quota -u colin # 查看用戶的限額
# repquota /home # 所有用戶在這個(gè)分區(qū)上的限額情況
更多建議: