debian设置磁盘配额


我们可通过quota来设置磁盘的配额,限定某个用户只能使用有限的硬盘空间,这在文件服务器和邮件服务器上是很常用的。Linux通过quota程序支持磁盘配额,它以分区(partition)为单位进行设置的。设置步骤如下:

?       确定内核支持quota功能,然后下载安装quota程序。

?           debian:~# apt-get install quota
?       修改/etc/fstab文件,在分区上启用quota功能。我的home目录是放到一个单独的分区中的,我现在要在该分区中启用quota,则需把fstab中的:

?           LABEL=/home     /home       ext3   defaults     1 2
改成:

LABEL=/home     /home       ext3   defaults,usrquota,grpquota     1 2

usrquota和grpquota是新增的内容,表示在该分区内启用用户配额(usrquota)和组配额(grpquota)。用户配额可限制某个用户可使用的磁盘空间,组配额可限制某个组所有成员总共可使用的磁盘空间。

重新启动系统或重新安装分区,使fstab里的配置生效,我们可查看/etc/mtab文件以确定我们的修改是否生效,下面是一个生效后mtab文件。

debian:~#mount -a -o remount     #重新安装分区
debian:~# vi /etc/mtab
/dev/sda1 / ext3 rw 0 0
none /proc proc rw 0 0
usbdevfs /proc/bus/usb usbdevfs rw 0 0
none /dev/pts devpts rw,gid=5,mode=620 0 0
/dev/sda2 /home ext3 rw,usrquota,grpquota 0 0   #启用了quota
none /dev/shm tmpfs rw 0 0
/dev/sda3 /usr ext3 rw 0 0
/dev/sda6 /data ext3 rw 0 0
?       运行quotacheck程序收集磁盘资料,并在/home目录下生成aquota.group和aquota.user文件。

?           debian:~# quotacheck -avug
如果出现# quotacheck: Cannot get quotafile name for /dev/sda1的情况,请先手工在/home目录下创建这两个文件,然后再运行上面这个命令。

debian:/home#touch aquota.group;touch aquota.user
这是quota的一个Bug,但不影响正常使用。

?       现在我们可以启动quota了,执行以下命令即可。

?           debian:~# quotaon -av
?       接下来要针对用户设置配额了,我们可使用edquota命令来做。

?           debian:~# edquota -u test
?           Disk quotas for user test (uid 513):
?           Filesystem     blocks     soft     hard   inodes   soft   hard
?             /dev/sda2     28       0       0       6     0     0
这是test用户还没设置配额时的情况,soft表示软限制,当我们使用磁盘时可以超过该值,但要在指定的期间内将磁盘的容量降到soft以下;hard表示硬限制,用户使用磁盘是绝对不能超过该值的。所以soft的值是要低于hard值的,相当于给用户一个缓冲的区间。这里有两对soft和hard,前一对以blocks为单位设置,后一对以inodes为单位设置,一般使用blocks为单位。设置完成后的情况如下。

Disk quotas for user test (uid 513):
Filesystem     blocks     soft     hard   inodes   soft   hard
/dev/sda2     28       20480     30720       6     0     0
设置的容量是以K为单位的,这里的软限制设置了20M,硬限制设置了30M。

?       设置soft的宽限期间用edquota -t命令,该设置是针对分区设置的,不能细化到用户。

?       quotaoff命令用来关闭quotaoff,在关机或重启机器时,请先用该命令关闭quota。

?       quotastats命令可显示quota的状态信息。

?       repquota命令可用来显示分区中各用户的配额使用情况。
 

你可能感兴趣的:(debian设置磁盘配额)