歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 在linux2.4系統中實現磁盤配額

在linux2.4系統中實現磁盤配額

日期:2017/2/27 14:19:44   编辑:更多Linux
  概述:在Linux2.4系統中,磁盤配額(Quota)的實現和以前的相比,在配置方面有了明顯的不同,本文將以具體的實例來說明如何在linux2.4中實現磁盤配額。 環境: RedHat 7.1 quota-3.00-4 目的: 在/dev/hda1(裝載點為/)文件系統中實現基於組和用戶的磁盤配額。 步驟: 1.安裝quota 缺省情況下,在安裝系統過程中系統會自動安裝quota,可以用以下命令查看您的系統中是否安裝了quota: # rpm –q quota 如果沒有安裝,請使用rpm –ivh命令從RedHat7.1光盤中安裝quota: # rpm –q quota-3.00-4.rpm 安裝完成後可以用以下命令查看quota包含的文件 # rpm -ql quota /sbin/convertquota /sbin/quotacheck /sbin/quotaoff /sbin/quotaon /usr/bin/quota /usr/sbin/edquota /usr/sbin/quotastats /usr/sbin/repquota /usr/sbin/rpc.rquotad /usr/sbin/setquota /usr/share/man/man1/quota.1.gz /usr/share/man/man2/quotactl.2.gz /usr/share/man/man8/convertquota.8.gz /usr/share/man/man8/edquota.8.gz /usr/share/man/man8/quotacheck.8.gz /usr/share/man/man8/quotaoff.8.gz /usr/share/man/man8/quotaon.8.gz /usr/share/man/man8/quotastats.8.gz /usr/share/man/man8/repquota.8.gz /usr/share/man/man8/rquotad.8.gz /usr/share/man/man8/setquota.8.gz 2.建立quota數據文件 在quota-3.00-4版本中,系統使用了新的數據文件。本來根據man quotacheck的說明,假如系統當前沒有數據文件存在,quotacheck將為您新建新的數據文件,但是在使用過程中,quotacheck並沒有生成相應的數據文件,所以我們必須手工來進行這一工作。我們可以通過convertquota工具來實現這一點。 首先執行以下命令建立舊格式的數據文件: # cd / # toUCh quota.user # touch quota.group # chmod 600 quota..user # chmod 600 quota.group 這樣我們就建立了文件權限為600的quota數據文件quota.user和quota.group。 接下來,我們使用convertquota工具生成新格式的quota數據文件: # convertquota –u / # convertquota –g / 說明:convertquota –u / 指明將裝載點為/ 的quota舊格式的用戶磁盤配額數據文件轉換成新格式的數據文件;convertquota –g / 指明將裝載點為/ 的quota舊格式的組磁盤配額數據文件轉換成新格式的數據文件。 這樣我們就生成了新格式的quota數據文件。 3.修改/etc/fstab,從而在/dev/hda1文件系統上實現磁盤配額 原來的/etc/fstab文件內容如下所示: # more /etc/fstab LABEL=/ / ext2 defaults 1 1 LABEL=/data /data ext2 defaults 1 2 /dev/fd0 /mnt/floppy auto noauto,owner 0 0 … 修改後的/etc/fstab文件內容如下所示: # more /etc/fstab LABEL=/ / ext2 defaults,usrquota,grpquota 1 1 LABEL=/data /data ext2 defaults 1 2 /dev/fd0 /mnt/floppy auto noauto,owner 0 0 … 說明:/etc/fstab文件的每一行由六個字段組成: 第一個字段:文件系統(分區)的注釋(類似卷標); 第二個字段:文件系統的裝載點; 第三個字段:文件系統類型(磁盤配額只能在ext2文件系統上實現); 第四個字段:裝載文件系統是使用的選項,如果只想實現基於用戶的磁盤配額,就加入usrquota關鍵字,只想實現基於組的磁盤配額,就加入grpqouta關鍵字,


如果兩者都需要,就全寫入,中間可以用逗號分隔。 第五個字段:表明該文件系統(分區)是否為只讀,如果是0就表示只讀,1表示可以讀寫。 第六個字段:表示系統啟動執行fsck時檢查的順序。 注意:請特別注意這裡的拼寫,是usrquota和grpquota,不要寫成userquota和groupquota。 4.在/etc/rc.d/rc.local中加入quota啟動腳本 這段腳本如下所示: #!/bin/bash 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 注意:這裡需要注意的是quotacheck和quotaon文件的路徑,在RedHat7.1中,這些文件的路徑和以前的版本不同。請通過rpm –ql quota來確定其路徑。 5.重啟動系統,如果一切正常的話,quota將開始正常工作。 6.加入對用戶的磁盤配額: 在quota-3.00-4可以通過兩種方法實現: a.通過edquota直接編輯數據文件: 比如加入用戶bye2000的磁盤配額,執行以下命令: # edquota –u bye2000 Edit block and inode quota for user bye2000: Device /dev/hda1 (/): Used 500KB, limits: soft=2000 hard=2500 Used 10 inodes, limits: soft=100 hard=110 然後直接修改即可。 b.通過setquota工具加入: 比如加入用戶bye2000的磁盤配額,執行以下命令: setquota –u / 2000 2500 100 110 bye2000 以下是setquota命令用法的簡單描述: setquota [ -u-g ] 裝載點 軟塊數 硬塊數 軟文件數 硬文件數 用戶名/組名 7.其他問題說明: a.關於所使用到的命令的詳細用法,請參考各個命令的man手冊; b.軟限制(soft)表示當用戶空間超過該值時,系統將警告用戶。硬限制(hard),當用戶的空間超過該值時,所有操作都無效,並會接到系統的提示。



Edit block and inode quota for user bye2000: Device /dev/hda1 (/): Used 500KB, limits: soft=2000 hard=2500 Used 10 inodes, limits: soft=100 hard=110 然後直接修改即可。 b.通過setquota工具加入: 比如加入用戶bye2000的磁盤配額,執行以下命令: setquota –u / 2000 2500 100 110 bye2000 以下是setquota命令用法的簡單描述: setquota [ -u-g ] 裝載點 軟塊數 硬塊數 軟文件數 硬文件數 用戶名/組名 7.其他問題說明: a.關於所使用到的命令的詳細用法,請參考各個命令的man手冊; b.軟限制(soft)表示當用戶空間超過該值時,系統將警告用戶。硬限制(hard),當用戶的空間超過該值時,所有操作都無效,並會接到系統的提示。



Copyright © Linux教程網 All Rights Reserved