歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下實現磁盤配額的兩種方法

Linux下實現磁盤配額的兩種方法

日期:2017/2/28 16:00:54   编辑:Linux教程

用quota來實現對用戶使用磁盤空間的限制

我們在配置文件共享的時候,有一個共享資源為homes,如hening登錄,在cxserver中有一個abc文件夾,hening用戶對這個文件夾具讀寫權限,

如若我們不限制hening的話,他有可能會將硬盤塞滿,任何一個管理員都不希望看到這種事情,下面我們用quota來實現對用戶使用磁盤空間的限制。

第一種方法:

1]首先明白一個概念,quota是針對分區的,所以我們在前面安裝linux的時候單獨分了一個/home區。

2]而所有的用戶home目錄都在/home下,現在開始在home目錄下建立兩個文件:

cd /home

touch quota.user

touch quota.group

chmod 600 quota.user //只允許root對這兩個文件讀寫

chmod 600 quota.group

3]在/etc/rc.d/rc.local文件尾部加入quota啟動腳本:

if [ -x /sbin/quotacheck ]

then

echo "Checking quotas. This may take some time..."

/sbin/quotacheck -avug

echo "Done"

fi

if [ -x /sbin/quotaon ]

then

echo "Turning on quota"

/sbin/quotaon -avug

echo "OK"

fi

4]修改/etc/fstab文件中定義/home分區的那一行:

原內容: /dev/hda3 /home ext3 defaults 1 2

新內容: /dev/hda3 /home ext3 defaults,usrquota,grpquota 1 2

看得出來只是在defaults後面加了usrquota,grpquota而已。

注意啊,是usrquota而不是userquota,若是錯了,後果難以預料。

5]重啟,在啟動過程中會出錯,主要是因為quota在/home目錄下打不到aquota.user和aquota.group兩個文件,沒關系,咱們進了系統以再慢慢收拾它。

6]用root登錄,然後我們生成aquota.user和aquota.group兩個文件:

convertquota -u /home

convertquota –g /home

若以上步驟不出錯的話,我們用ls /home –al就會看到aquota.user,aquota.group兩

個文件了

7]再重啟,注意觀察,不會再出錯了。進入系統後就可以對用戶home目錄進行限制了。比如現在有一個test用戶,我們對他進行限制:

edquota –u test #此命令將進入一個vi編輯模式,其內容如下:

Filesystem blocks soft hard inodes soft hard

/dev/hda3 0 0 0 0 0 0

注解標識: A B C D E F

在講解各參數之前先說說限制的兩種方式:soft,hard

soft:又稱軟限制,當用戶到達這個限制以後,系統會給予警告,但仍可寫入。

hard:又稱硬限制,到達這個限制,就完全禁止任何寫入啦。

ABC為磁盤空間的限制設置,而DEF為總文件個數的限制

A:已使用空間,無需要設置

B:用戶空間使用限制,為軟限制,需要設置。

C:用戶空間使用限制,為硬限制,需要設置。

D:已有文件總數,無需要設置。

E:文件總數限制,為軟限制,需要設置。

F:文件總數限制,為硬限制,需要設置。

我們要限制test用戶使用空間100M,最多不能超過120M,文件總數為2000個,

最多不能超過2500個,設置如下:

Filesystem blocks soft hard inodes soft hard

/dev/hda3 0 102400 122880 0 2000 2500

注:空間限制是以k為單位的。

8]測試:進入自己的home目錄,然後拷貝文件,若是超過120M,就不允許再寫入了。

9]其它命令的使用:

復制相同調協至其它用戶:

edquota –p test –u username1 username2 username3 username4……

顯示某個用戶當前磁盤使用情況:

quota –v username

顯示所有用戶當前磁盤使用情況:

repquota –a

其它的一些命令請參考相關資料。

第二種方法:

要對特定的用戶使用配額,需要六個步驟:

1.修改/etc/fstab,對所選文檔系統激活配額選項;

2.重新裝載文檔系統,使改變生效;

3.在該文檔系統開頭建立aquota.user文檔。

4.掃描相應文檔系統,用quotacheck 命令生成基本的配額文檔;

5.用edquota命令,對特定用戶采用配額限制;

6.最後,用quotaon命令激活配額。

下面,舉例說明如何在/分區下對用戶test做磁盤配額限制:

修改/etc/fstab

#vi /etc/fstab ,在

LABEL=/ / ext3 defaults 1 1 行激活磁盤配額,修改後的結果如下:

LABEL=/ / ext3 defaults,usrquota 1 1

保存退出後。

重新裝載文檔系統,使改變生效

重新激活/etc/fstab改變:#mount -o remount /

建立aquota.user文檔

在/ 分區下生成aquota.user文檔,最簡單的方法是使用touch命令:

touch aquota.user ,修改aquota.user文檔的權限,只讓root用戶訪問:

chmod 600 aquota.user

進行配額檢查

能夠使用quotacheck -avum 命令生成相應的配額文檔。

-a:掃描 /etc/fstab中支持配額的文檔系統;

-v:生成冗長輸出;

-u:檢查用戶配額;

-m:重新裝載掃描的文檔系統;

對用戶test配置配額

運行如下命令:edquota test

LABEL=/ / ext3 defaults,usrquota 1 1

Disk quotas for user test (uid 501):

Filesystem blocks soft hard inodes soft hard

/dev/hda2 20 100000 0 6 0 0

~

進行inodes soft hard 配置。

啟用配額

#quotaon / (使用quotaoff /能夠取消/分區的配額配置)

至此,對/分區對test用戶的配額配置就完成了。

Copyright © Linux教程網 All Rights Reserved