製做人:wqmslnode
博客地址:http://wqmsl.blog.51cto.com數據庫
磁盤限額ide
基於用戶的磁盤限額和基於組的磁盤限額(usrquota grpquota)測試
在作磁盤限額的時候是基於文件系統作的,因此要給用戶家目錄作磁盤年限額的話首先要看/home所在的分區是獨立分區仍是掛載到了根下,若是在根下,就得對整個根來作磁盤限額,若是是獨立分區,只須要在獨立分區上作就能夠了,因爲家目錄的特殊性,通常咱們都在單獨分區上。命令行
這裏作一個基於獨立分區的/home家目錄的用戶usrquota的磁盤配額3d
查看一下掛載狀況,以下:/home分區是/dev/sda5文件系統,只要對sda5作磁盤限額就能夠了對象
查看一下系統當前所用的內核,在查看一下所用內核是否支持磁盤限額blog
要作磁盤限額首先要熟悉fstab文件,修改fstab中的/home,使其支持quotaip
從新掛載文件系統(/home),查看/dev/sda5是否已經支持磁盤配額rem
從新掛載:如根目錄的特殊性(須要重啓),使用mount -o remount / 或者 mount -o remount(重啓失效,先要寫入fstab文件中),usrquota / 就不用咱們去重啓系統也可使其生效了
生成配額文件,quotacheck -cum /dev/sda5 ——> u:是指usrquota(能夠省略,缺省爲u)
註釋:quotacheck [-avugfM] 系統文件
選項與參數:
-u :針對用戶掃瞄檔案不目弽的使用狀況,會創建 aquota.user
-g :針對羣組掃瞄檔案不目弽的使用狀況,會創建 aquota.group
-v :顯示掃瞄過程的信息;
-f :強制掃瞄文件系統,並寫入新的 quota 配置文件 (危險)
-M :強制以讀寫的方式掃瞄文件系統,只有在特殊狀況下才會使用。
查看一下生成的配額文見aquota.user,數據庫格式
生成配額文件以後默認並無開啓配額功能,須要咱們開啓,先查看一下當前狀態
以下:/home的usrquota仍是off狀態;也可使用這條命令查看: quotaon -p /dev/sda5
開啓usrquota的磁盤限額;# quotaon -uv /dev/sda5 沒有加-u的參數
註釋:quotaon [-vug] [/mount_point]
選項與參數:
-u :針對使用者啓動 quota (aquota.user)
-g :針對羣組啓動 quota (aquota.group)
-v :顯示啓動過程的相關訊息;
-a :根據 /etc/mtab 內的 filesystem 設定啓動有關的 quota,若不加 -a 的話,
則後面就須要加上特定的那個 filesystem 的!
quotaon -uv /home 開啓/home下用戶的磁盤限額
quotaon -auvg 開啓全部執行磁盤限額文件系統用戶和組的磁盤限額
關係磁盤限額的功能正好和這個相反,使用quotaoff來執行
再看一下狀態,是否啓用成功
爲用戶wqmsl2配置磁盤限額,大小的限制以KB爲單位,blocks、inodes 不用修改,默認就好
看看鳥哥的解釋
先來作基於文件大小的限制,給用戶wqmsl2軟限制爲8M,硬限制爲10M(我以1000爲單位換算)
測試,我切換到wqmsl2用戶,進行測試看看磁盤配額有沒有生效
能夠查看針對本身磁盤配額
默認我在本身的家目錄下,我依次寫入大小3M的文件4次,看看效果
執行如下命令3次,生成,每次都修改一下文件名,以避免重複
解釋:dd if=/dev/zero bs=3M count=1 of=test bs=不加單位的話是以字節計算,count則是次數,這個命令的含義就是:每次寫入3M大小,寫1次在當前目錄下生成3M大的test文件
repquota :針對文件系統的限額作報表 (只有root才能夠執行查看)
註釋:repquota -a [-vugs]
選頃不參數:
-a :直接到 /etc/mtab 搜尋具備 quota 標誌的 filesystem ,幵報告 quota 的
結果;
-v :輸出的數據將噸有 filesystem 相關的紳部信息;
-u :顯示出用戶的 quota 限值 (這是默訃值);
-g :顯示出個別羣組的 quota 限值。
-s :使用 M, G 爲單位顯示結果
warnquota :對超過限額的用戶發出警告信
註釋:warnquota 字面上的含義就是 quota 的警告 (warn) !它能夠依據
/etc/warnquota.conf 的設定,而後找出目前系統上面 quota 用量超過 soft (就是有 grace time 出現的那用戶) 的用戶帳號,經過 email 發送警告信到用戶的電子郵件信箱。
warnquota 不會自動執行,須要咱們手動去執行它。光執行『 warnquota 』以後,他會發送兩封信出去, 一封給超過軟限制的用戶一封給 root
只有root執行了warnquota 命令纔會給超過軟限制的用戶發送郵件,試想一下,這樣是否是很不合適呢,因此咱們得讓其自動執行,那就是計劃任務
先看一下warnquota這個命令在哪裏
咱們把計劃任務添加到天天4:02執行的任務中,注意權限哦(要有可執行權限)
這樣系統天天凌晨4:02就會執行這個任務,自動給超過軟限制的用戶發送郵件哦
下面測試一下,用賬戶wqmsl2登錄系統,提示我有封郵件
咱們看看郵件的詳細內容
我繼續往裏面寫東西,看看到了硬限制以後有沒有提示
當我再寫的時候已經提示了,磁盤超出限額
可是並非說就徹底寫不進去了,還有一部分能寫進去
看看test4的大小就知道了,仍是有一部分寫進去了
setquota :直接用命令設定 quota 磁盤限額
註釋:edquota 是呼叫 vi 進行行謳定,setquota 直接由命令輸入所需要的各項限制值獲得的
用命令行的方式給wqmsl1設定磁盤限額
切換到wqmsl1下查看
爲組作限額
和用戶的是同樣的
生成組限制文件
[root@localhost /]# quotacheck -cmg /
爲組啓用quota
[root@localhost /]# quotaon -g /
爲組作限額 分配大小
[root@localhost /]# edquota -g quota(組名)
注意:這裏的組要是基於主組的 建立的文件要屬於磁盤配額的用戶組
若是你限制的對象是附屬組,那麼是不生效的,只有文件所屬組爲你限制的組的時候纔會生效
文件個數的限制
這個和限制大小同樣,修改以下的內容就能夠了
檔案數量 (inodes):這是 quota 本身算出來的,單位爲個數,不要更改此項;
soft:inode 的 soft 限制值,以個數爲單位;
hard:inode 的 hard 限制值,以個數爲單位;
修改完這個就能夠了,當你寫入的文件數量超過了硬限制的數量,那麼就會禁止你再往裏寫文件了
單用戶文件系統的限額作報表
註釋:uota [-uvs] [username]
quota [-gvs] [groupname]
選項與參數:
-u :後面能夠接 username ,表示顯示出該用戶的 quota 限制值。若不接username ,表示顯示出執行此命令用戶的 quota 限制值。
-g :後面可接 groupname ,表示顯示出該羣組的 quota 限制值。
-v :顯示每一個用戶在 filesystem 的 quota 值;
-s :使用 1024 爲倍數來指定單位,會顯示如 M 之類的單位!
直接使用 quota 去顯示出 wqmsl1 不 wqmsl2 的限額
例如:quota -uvs wqmsl2 wqmsl3
寬限時間 (grace time):
咱們可使用這個命令 edquota -t 去修改寬限時間,系統默認是7天,
edquota -p 範本帳號 -u 新帳號 ——> 給全部的用戶相同的限制
edquota -p wqmsl2 -u wqmsl3 以下:wqmsl3用戶的配額和wqmsl2是同樣的