限制用戶目錄使用空間 修改/etc/vfstab
把需要限制的文件系統的mount options改為rq
到文件系統的頂
執行命令touch quotas和chmod
quotas
quotaon
v
a
設定用戶可使用的空間(edquota 用戶名)
限制用戶硬盤使用空間 UNIX作為一種多用戶系統
它允許多個用戶共同使用系統的資源
包括系統的內存
CPU和硬盤
在默認情況下
系統並不會限制每個用戶可以使用硬盤空間的大小
所以如果用戶惡意使用硬盤
或用戶由於疏忽
將硬盤空間全部占用
將導致其他用戶無法使用硬盤
從而使系統性能下降
甚至有崩潰的危險
其實
UNIX提供的quota系列命令可以幫助我們解決這個問題
這些命令包括
quota
顯示用戶的硬盤限額和使用情況
edquota
為每個用戶設定硬盤限額
quotaon
啟動文件系統硬盤限額服務
quotaoff
關閉文件系統硬盤限額服務
repquota
顯示當前硬盤限額狀態
配置這項服務的方法很簡單
但在使用硬盤限額服務之前
我們要明白硬限制和軟限制這兩個概念
所謂硬限制是指對資源節點和數據塊的絕對限制
在任何情況下都不允許用戶超過這個限制
而軟限制是指用戶可以在一定時間范圍內(默認時為一周
在/usr/include/sys/fs/ufs_quota
h文件中設置)超過軟限制的額度
在硬限制的范圍內繼續申請資源
同時系統會在用戶登錄時給出警告信息和仍可繼續申請資源剩余時間
如果達到時間期限
用戶的硬盤使用仍超過軟限制的額度
則系統將不允許用戶再申請硬盤資源
明白了這兩個概念
我們就可以配置硬盤限額服務了
首先我們必須在要限制的文件系統的根目錄下建立一名字為quotas的文件
該文件的所有者應是root
且其它用戶不可以對它進行寫操作
方法是
# cd /home (進入文件系統根目錄
注意並不是系統根目錄
本例為/home目錄)
# touch quotas(創建一名字為quotas的空文件)
# chmod
quotas (更改文件屬性
使只有root可以對它進行寫操作)
然後
我們編輯/etc/vfstab文件
找到要進行硬盤限額服務的文件系統
並將
mount option字段的值設為rq
然後並存盤退出
完成這兩步後
我們使用edquota命令為每個用戶設置硬盤限額
在root權限下輸入以下命令
#edquota username
這時系統會自動生成一個臨時文件
並且有如下內容
fs /users blocks (soft =
hard =
) inodes (soft =
hard =
)
其中fs字段表明使用硬盤限額的文件系統
本例為/users
block和inodes表明用戶可以使用的硬盤千字節數和I節點數
即用戶可使用的硬盤空間和可建立的文件數
soft和hard分別對於前面提及的軟限制和硬限制
編輯這個文件
把軟
硬限制設置到合適的數值
然後存盤退出
這時我們可以看到quotas文件的大小已經被改變
說明用戶的限額已經儲存
重復這條命令
給每一個用戶都配置硬盤限額
另外
如果我們分配給用戶的硬盤限額都相同
我們可以使用
p
參數而不用為每個用戶都編輯一個文件
它的使用方法是
#edquota
p reference
usernameusername
編輯完文件後
我們就可以用quotaon來啟動服務了
在root權限下輸入
#quotaon /users
就可以啟動限額服務
如果我們要查看各個用戶的當前使用情況
可以使用
repquota 命令
在root權限下輸入
#repquota /users
系統會顯示
從中我們可以很容易看到用戶的硬盤和文件的使用情況以及超過軟限制後仍可申請資源的時間等等
當然我們可以用quotaoff取消硬盤限額服務
另外
系統還提供quotacheck 命令對限額的一致性進行檢查
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19597.html