前言:quota是用来给每个用户或者是每一个用户组分配一定的空间,避免公平的使用空间。
内容:
quota的一般用途,
a) WWW server,例如:每个人的网页的容量限制
b) Mail server,例如:每个人的邮件空间限制。
c) File server,例如:每个人可用的网络硬盘空间。
除了以上的服务之外对于linux系统的主机有一下的用途
1) 限制某一个足轻的最大磁盘配额。
2) 限制用户的最大磁盘配额
3) 以Link的凡是,为邮件做配额。
谈谈quota的使用限制
1) 针对整个filesystem
2) 核心必须支持quota
3) quota的记录文件:在2.6.xx以后的核心版本上默认的但文件都是aquota.user和aquota.group
4) 只是对一般的用户有作用,例如root就没有用。
说说quota可以配置的几个内容
1) 容量限制或文件数限制(block或inode)
Block可是限制文件的大小
Inode就是限制文件个数。
2) 柔性劝导和硬性规定(soft和hard)
Soft:就是超过之后还能用,但是有宽限时间,如果超过就会锁住用户的磁盘使用权。
Hard:就是坚决不能超过的额度。
3) 会倒计时宽限时间(gracetime)
默认是7天,这个可以改动,如果超过这个时间,那么soft的值就会变成hard的值作为限制。
说说具体的配置命令吧。
将文件系统挂载,指出quota。
a) 注意:此处的挂载要用一些属性:例如:mount �Co remount,defaults,usrquota,grpquota /home 这里是临时使用,如果长久的使用,那么就将其写入到/etc/fstab.写入到/etc/fstab之后要检查是不是有错误,mount -a
建立quota记录文件。
a) quotacheck :quotachek命令是可以生成quota的记录文件,quota的基本原理:quota分析整个文件系统所有使用者和组的文件综述和总容量,再将这些数据记录在文件系统的最顶层,然后在该记录文件中使用账号或者是群组的限制区规范磁盘。
b) quotacheck的基本用法:
-a 扫描/etc/mtab (这个文件中有对所有的文件系统的描述,这里只是对有quota属性的文件)这个可以后面不用加挂载点。
-u 只对用户使用quota 会建立quota.user
-g同上
-v 显示过程信息。
-f 强制扫描,写入新的quota配置文件,这个会毁掉原先的配置文件。
-M 强制用读写的方式扫描文件系统。
3. quotaon 启动quota命令
-u针对使用者启动quota(quota.user)
-g:同上
-v显示过程信息
-a根据/etc/mtab 。
注意:这个命令只需要第一次执行就行了,未来都会/etc/rc.d/rc.sysinit初始化脚本帮你搞定。
quotaoff关闭quota服务
c) �Ca :同上
d) �Cu :关闭user quota后面跟上挂载点
e) �Cg :关闭groupquota
edquota:编辑账号/群组的限制和宽限时间
-u 更改用户 edquota �Cu user_name [-g groupname]
-g 同上
-t 改时间的
-p 复制范本的,edquota �Co old �Cu new
注意:此处soft/hard的值为0就表示没有限制。
5.quota限制值报表
-u 后面接username 表示出用户的quota 不加username显示本用户的
-g 同上
-v 显示每个用户的
-s 用M之类的单位
6.repquota.针对文件系统的配额报表
-a 按照/etc/mtab
-v 显示详细信息
-u显示用户的
-g显示群组的
-s 用M,G之类的表示。
7.管理
warnquota:对超过限额的发出警告信。可以根据/etc/warnquota.conf设定可以通过/etc/cron.daily/warnquota文件写入/usr/sbin/warnquota 那么每天早上4:02 就可以被执行。
8.说一个不动现在的文件系统就能完成quota的实例。
想一想,如果你的主机原先没有想到要设定成为邮件主机,所以并没有规划将邮件信箱所在的 /var/spool/mail/ 独立成为一个partition,然后目前你的主机已经没有办法新新增或者分割出新的分割槽了。那我们知道quota 是针对整个filesystem 进行设计的,因此,你是否就无法针对 mail 的使用量给予quota 的限制呢?
此外,如果你想要让使用者的邮件信箱与家目录的总体磁盘使用量为固定,那又该如何是好?由于/home 及/var/spool/mail 根本丌可能是同一个filesystem (除非是都不分割,使用根目录,才有可能整合在一起) ,所以,该如何�行这样的 quota 限制呢?其实没有那么难啦!既然quota 是针对整个filesystem 来进行限制,假设你又已经有/home 这个独立的分割槽了,那么你只要:
1. 将/var/spool/mail 这个目录完整的移到/home底下;
2.利用 ln -s /home/mail /var/spool/mail 来建立链接数据;
3.将/home �行quota 限额设定
只要这样的一个小步骤,嘿嘿!您家主机的邮件就有一定的限额��!弼然��!您也可以依据不同的使用者与群组来设定 quota 然后同样的以上面的方式来进行 link动作!嘿嘿嘿!就有不同的限额针对不同的使用者提出��!很方便吧! ^_^
9.说一下写quota脚本中要用到的两种方法
如果要建立大量的账号,并要所有的用户建立就给予quota,有两种方法
先建立原始quota账号,然后edquota �Cp old �Cn new写入script中;
直接setquota 建立用户的quota设定值。
Setquota用法:setquota �Cu user1 100000 5000000 0 0 /home