這是本人第一次寫博客,若有什麼錯誤的地方或者不對的地方,還請各位不吝賜教!!! 一、磁碟配額的概念 由於Linux是一個多用戶管理的操作系統,而Linux預設情況下並不限制每個用戶使用磁碟空間的大小,假如某個用戶疏忽或者惡意占滿磁碟空間,將導致系統磁碟無法寫入甚至崩潰;為了保證系統磁碟的有足夠的剩餘 ...
這是本人第一次寫博客,若有什麼錯誤的地方或者不對的地方,還請各位不吝賜教!!!
一、磁碟配額的概念
由於Linux是一個多用戶管理的操作系統,而Linux預設情況下並不限制每個用戶使用磁碟空間的大小,假如某個用戶疏忽或者惡意占滿磁碟空間,將導致系統磁碟無法寫入甚至崩潰;為了保證系統磁碟的有足夠的剩餘空間,我們需要對用戶和組進行磁碟空間使用限制。
磁碟配額限制類型:
1. 限制用戶和組對磁碟空間的使用量
2. 限制用戶和組在磁碟內創建文件的個數
磁碟配額限制級別:
- 軟限制:低級限制,此限制可以突破,突破時會被警告,超出部分會有寬限天數,寬限天數到期後超出部分被清空,軟限制不能超過硬限制
- 硬限制:絕對限制,此限制不會被突破,達到指定限制後無法使用更多空間
- 寬限天數:當有數據超過軟限制後,超出部分會被計時,寬限天數到期後超出部分數據將被清空,寬限天數預設是7天
註:磁碟配額是針對分區進行設置的,無法實現“某用戶在系統中共計只能使用50MB磁碟空間”只能設置某用戶在/home分區能使用30M這樣的限制。切記:磁碟配額是針對分區的!
二、磁碟配額開啟條件
內核是否支持磁碟配額?
#grep "CONFIG_QUOTA" /boot/config-2.6.32-431.el6.x86_64
磁碟配額相關命令是否安裝?
#rpm –q quota
三、磁碟配額實驗規劃
準備足夠大小的分區,要遠大於實驗的需求空間
創建實驗用戶和組
用戶:cj、bd、xz、
組:thot
磁碟配額規劃
thot:硬:500M 軟:450M 文件數不限制
cj: 硬:50M 軟:40M 硬:10個 軟:8個
bd: 硬:250M 軟:200M 文件數不限制
xz: 硬:250M 軟:200M 文件數不限制
寬限天數修改為8天
四、磁碟配額實驗流程
- 查看系統是否支持磁碟配額
#grep "CONFIG_QUOTA" /boot/config-2.6.32-431.el6.x86_64
2. 查看分區的掛載屬性是否滿足
dumpe2fs –h /dev/sdb1 | grep "Default mount options"
查看結果中是否包含usrquota、grpquota兩個掛載屬性?
如果沒有兩個掛載屬性,則需要重新掛載並添加兩個屬性,並寫入自動掛載
3. 創建分區、用戶、用戶組
分區大小要遠大於實驗要求大小,避免影響實驗結果
用戶:cj、bd、xz
組:thot
註:創建用戶時,指定thot為初始組
4. 生成用戶和組的配置文件
quotacheck 選項 分區名
-a 掃描/etc/mtab文件中所有啟用磁碟配額功能的分區。如果加入此參數,命令後面就不需要加入分區名了
-u 建立用戶配額的配置文件,即生成aquota.user
-g 建立組配額的配置文件,即aquota.group
-v 顯示掃描過程
-c 清除原有的配置文件,重新建立新的配置文件
註:若報錯沒有許可權生成文件,則需要關閉SELinux
5. 編輯配置文件、設置指定限制大小
edquota 選項 用戶名或組名
-u 用戶名
-g 組名
-t 設定寬限時間
-p 複製磁碟配額規則,不需要每一個用戶或者組都手動設置一遍
# edquota -p 模板用戶 -u 目標用戶
註:配置文件中所寫大小預設單位KB
6. 啟動和關閉磁碟配額
啟動:
quotaon 選項 分區名
-a 根據/etc/mtab文件啟動所有分區的磁碟配額(不寫分區名)
-u 啟動用戶的磁碟配額
-g 啟動組的磁碟配額
-v 顯示啟動過程信息
關閉:
quotaoff 選項 分區名
-a 根據/etc/mtab文件關閉所有分區的磁碟配額(不寫分區名)
-u 關閉用戶的磁碟配額
-g 關閉組的磁碟配額
-v 顯示啟動過程信息
7. 查看磁碟配額的信息
查詢指定用戶和組的配額:
quota 選項 用戶或組名
-u 用戶名
-g 組名
-v 顯示詳細信息
-s 以常見單位顯示大小
8. 查詢指定分區的磁碟配額:
repquota 選項 分區名
-u 查詢用戶配額
-g 查詢組配額
-v 顯示詳情
-s 以常見單位顯示
9. 驗證磁碟配額是否生效
切換到執行用戶,以預設用戶身份進行文件創建(su)
測試工具:
dd 生成指定大小的文件(dd命令詳解見附件)
dd if=/dev/zero of=/分區名/testfile bs=1M count=60
註意:用戶的測試需要切換到指定用戶身份,而組磁碟配額的驗證需要?
10. 非交互設置磁碟配額
setquota -u 用戶名 軟(容) 硬(容) 軟(數) 硬(數) 分區名
註:同樣,這樣的非互動式的命令更適合寫入腳本,而且,假如有很多用戶的磁碟配額配置相同也可以用複製來實現。