关于在linux下磁盘定额的实现
null wangwei
〖返回〗〖转发〗
关于在linux下磁盘定额的实现
1. 问题的提出:
能够限制用户在服务器上使用一定的硬盘空间,是作为公用服务器所必须的。在这方面linux 比Windows NT有明显的优势。
2. 需求说明:
需建FTP服务器,在系统中有多个用户, 需如下分配磁盘定额:
user name group home_dir 定额----------------------------------------------------------co_user01 company01 /home/company 60Mco_user02 company01 /home/company-----------------------------------------------------------user01 user01 /home/user01 30M-----------------------------------------------------------user02 user02 /home/user02 30M-----------------------------------------------------------user03 user03 /home/user03 30M
3. 解决步骤:
a. 我们使用系统为Red hat 5.2 , 用户已按上述需求设好帐号。b. 由于使用了Redhat5.2 ,系统内核缺省情况是支持磁盘定额的,而且启动脚本启动磁盘定额服务。(在/etc/rc.d/rc.sysinit中,你可以看到在安装完所有分区后,有quotaon -a 及quotacheck -avug的设置。)
c. 现在(1999/04/10)linux的磁盘定额只支持ext2分区。这时,我们要指定系统中哪一个分区要做定额设置。你可编辑/etc/fstab文件来指定,原文件:/dev/hda3 / ext2 defaults 1 1/dev/hda1 /winnt vfat defaults 0 0/dev/hda2 /my_ntfs ntfs defaults 0 0/dev/hda4 swap swap defaults 0 0/dev/fd0 /mnt/floppy ext2 noauto 0 0/dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0none /proc proc defaults 0 0
改为/dev/hda3 / ext2 defaults,usrquota, grpquota 1 1/dev/hda1 /winnt vfat defaults 0 0/dev/hda2 /my_ntfs ntfs defaults 0 0/dev/hda4 swap swap defaults 0 0/dev/fd0 /mnt/floppy ext2 noauto 0 0/dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0none /proc proc defaults 0 0
*** 千万不要把usrquota写成userquota, 后果并不是想象的那么简单。
d.在指定的要做定额的分区的根目录中建立空文件quota.user及quota.group并把权限指定为
只有root可更改。
# touch quota.user# touch quota.group# chmod 600 quota.user# chmod 600 quota.group
e. 这时,我们重新启动系统
# rebootf.在系统重新启动后,我们就可以用edquota命令或linuxconf软件为用户来划分磁盘定额了。
用linuxconf比较容易。... ...
g. 这样全部设置就告完成,使用repquota -a 命令看看。
参考资料 http://mud.263.net/~linux/doc/CLDP/mini/Quota.html
wangweimailto: wangwei@computer-china.com
linuxman@263.net
