Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5352444
  • 博文数量: 1144
  • 博客积分: 11974
  • 博客等级: 上将
  • 技术积分: 12312
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-13 20:06
文章存档

2017年(2)

2016年(14)

2015年(10)

2014年(28)

2013年(23)

2012年(29)

2011年(53)

2010年(86)

2009年(83)

2008年(43)

2007年(153)

2006年(575)

2005年(45)

分类: LINUX

2006-05-20 09:10:28

■我們不可能讓學生無限制的存取我們的硬碟,所以對每位使用者做硬碟使用容量的控管是必須的,在 Linux 上對硬碟容量的控管就是 quota 的設定

quota 的設定﹐只能針對整個 partition 來限制,而不能針對 某目錄 來做限制,通常我們將使用者建在 /home (未更改 user home directory 的狀況下),所以針對 /home 來做 quota 控管是必須的,


■quota 設定流程:

    1. (可直接編輯 /etc/fstab 或用 webmin 來設定)

步驟一:編輯 /etc/fstab(以下是用 /home 作例子)

  • 方法一:使用 設定 quota: (這是以 webmin 1.020 為例,)
    1. 設定 quota
      【硬體】-->【本機磁碟分割區】→點選 home-->找到【是否使用磁碟配額?】→選取【使用者與群組】-->【儲存】
    2. 啟動 quota
      【系統】-->【磁碟配額】-->點選【啟用配額】

      //使用 webmin 設定 quota 的人,只要做到這裡就可以了,下面不用作了

  • 方法二:直接修改 /etc/fstab
    vi /etc/fstab,找到下面這一行
    LABEL=/home  /home  ext3  defaults  1  2(找到要啟動 quota 的磁區,這裡是以 home 為例)

    LABEL=/home  /home  ext3  defaults,usrquota,grpquota  1  2
    //加上 ,usrquota,qrpquota
    //請注意,不要打錯字,也不要不小心加上空格,這樣開機會抓不到 /home 的

■步驟二:重新 mount 要設定 quota 的 partion

mount -o remount /home

■步驟三:使用 quotacheck 指令檢查檔案系統,產生 aquota.user、aquota.group
(如果是用 設定的人,就不用執行這個步驟了,它們會自動產生)

quotacheck -avmcug

註:產生 aquota.user、aquota.group 的另一個方法
touch /home/aquota.user aquota.group
chmod 644 /home/aquota.*
chown root.root /home/aquota.*

■步驟四:啟動或關閉 quota

啟動:quotaon -avug
關閉:quotaoff -avug

■步驟五:設定使用者或群組的 quota
edquota sysadm
(設定 sysadm 這個使用者的 quota ,這個帳號需要事先建好,此範例為容量 100MB)
注意:edquota 這個指令,預設會啟動 vi,若不熟悉 vi,可以用 來設定(在下面有提到用 webmin 設定的方法)

 ■修改前:
Disk quotas for user  sysadm (uid 500):
  Filesystem                   blocks       soft       hard     inodes     soft       hard
  /dev/hda5                      7532          0            0           57          0            0

 ■修改後:
Disk quotas for user sysadm(uid 500):
   Filesystem                  blocks       soft       hard      inodes     soft      hard
   /dev/hda5                    7532            0       100000      57          0           0
//第一個 hard 的設定值就是硬碟容量,單位是 KB,所以 100MB 就要設為 100000
//第二個 hard 是關於 inodes 的設定

edquota -p sysadm 使用者 --> edquota -p sysadm yoyo(將 sysadm 這個 user 的 quota 值複製給 yoyo 這個使用者)

edquota -p sysadm * --
> edquota -p sysadm *(將 sysadm 這個 user 的 quota 值複製給所有人)
(注意:下這個指令的時候要確定這個目錄下除了使用者目錄外沒有其他的 檔案 存在,不然會失敗)

注意:Red Hat Linux 8.0、9 不要建立純數字的帳號,在 quota 設定方面會出問題


■ FAQ

■使用   設定單一 user 的 quota:

【系統】-->【磁碟配額】-->【/home (users)】→選擇要設定quota 的使用者,然後點選【編輯配額針對:】→然後在【硬性區塊限制】內填入硬碟容量

■檢查所有 user 的 quota:(summarize quotas for a filesystem)

repquota -a

■如何讓使用者的 mail 容量也受 quota 的管制?:

■自動監視磁碟空間的小軟體--diskcheck

DiskCheck 是一個小的工具程式,用來監視我們的硬碟所剩餘的空間。 它預設會在每一個小時檢查我們的磁碟,並基於一個相當簡單的設定檔中的詳述以採取應有的對策。當磁碟空間將近用完時,會傳送一封郵件給系統管理員,以警告他採取行動。

安裝:apt-get install diskcheck
設定檔:/etc/diskcheck.conf

# Default configuration file for diskcheck
# Copyright (c) 2001 Red Hat, Inc. all rights reserved.

# Disks fuller than 90% will be reported
defaultCutoff = 90
#磁碟空間使用超過 90% 就寄信回報

# Specify per-disk cut-off amounts to override the default value
# listed above. You may specify either mount points or partitions.
#cutoff['/dev/hda3'] = 50
#cutoff['/home'] = 50
#設定不同的分割區使用不同的使用比例,例如我們想要讓 /home 使用超過 50% 就回報,就可以在這裡設定(這裡的設定會蓋過上面的預設值)

# List one or more partitions to exclude from the check (space seperated).
exclude = "/dev/fd*"
# 設定要排除在外,不檢查的分割區

# List one or more filesystem types to ignore.
# List filesystems in the format -x
# tmpfs, iso9660 (CD-ROM), and 'none' filesystems are automatically ignored.
ignore = "-x nfs"
#設定要排除在外,不檢查的檔案系統

# Who to send the report to.
mailTo = "root@localhost"
#設定要寄信給誰,預設是寄給 root ,我們可以給成自己常用的信箱

# Who to identify the mail as coming from.
mailFrom = "Disk Usage Monitor - diskcheck"
#信件的標題,可自取

# Location of sendmail-like mailer program.
mailProg = "/usr/sbin/sendmail"

#預設是使用 sendmail 寄信,若沒有 sendmail ,就要在這裡修改

阅读(893) | 评论(0) | 转发(0) |
0

上一篇:令 Debian 支援中文

下一篇:配制quota

给主人留下些什么吧!~~