转自
quota :显示用户硬盘限额和使用情况。
edquota : 为每个用户设定硬盘限额。
quotaon : 启动文件系统硬盘限额服务
quotaoff : 关闭文件系统硬盘限额服务
repquota : 显示当前硬盘限额状态
硬限制是指对资源节点和数据块的绝对限制,在任何情况下都不允许用户超过这个限制;而软限制是指用户可以在一定时间范围内(默认时为一周,在/usr/include/sys/fs/ufs_quota.h文件中设置)超过软限制的额度,在硬限制的范围内继续申请资源,同时系统会在用户登录时给出警告信息和仍可继续申请资源剩余时间。如果达到时间期限,用户的硬盘使用仍超过软限制的额度,则系统将不允许用户再申请硬盘资源。
首先在限制的文件系统的根目录下建立名为quotas的文件,该文件的所有者应是root,其它用户不可对它进行写操作
touch quota;chmod 644 quotas
编辑/etc/vfstab文件,找到要进行硬盘限额服务的文件系统,并将mount option字段的值设为rq,存盘退出。
#edquota username
系统生成:fs /export/home1 blocks (soft = 0, hard = 0) inodes (soft = 0, hard = 0)
fs字段表明使用硬盘限额的文件系统,为/export/home1
block和inodes表明用户可以使用的硬盘千字节数和I节点数,即用户可使用的硬盘空间和可建立的文件数
soft和hard提及的软限制和硬限制
note:如果我们分配给用户的硬盘限额都相同,我们可以使用 "-p" 参数而不用为每个用户都编辑一个文件
edquota -p reference-username username
用quotaon来启动服务:在root权限下输入 #quotaon /export/home1
查看各个用户的当前使用情况: #repquota /export/home1
取消硬盘限额服务 #quotaoff
限额的一致性进行检查 #quotacheck
-------------------------------------------------------------------------------
我做的实验步骤.
1) 在/disk4下
touch quotas (默认就是644,因而未做chmod 操作)
2)#vi /etc/vfstab
#device device mount FS fsck mount mount
#to mount to fsck point type pass at boot options
#
#/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr ufs 1 yes -
...................................................................................................................................
/dev/dsk/c0t10d0s2 /dev/rdsk/c0t10d0s2 /disk4 ufs 2 yes rq
................................................................................................................................
增加rq选项
3) edquota zxl (zxl用户对应主目录是/disk4/home/zxl)
edquota zxl
"/tmp/EdP.aMIW70" 1 line, 66 characters
fs /disk4 blocks (soft = 45000, hard = 150000) inodes (soft = 0, hard = 0)
软限制为45m, 硬限制为150M;
#cd /disk4/home/zxl
# du -sk
1327
#quotaon /disk4
# repquota /disk4
Block limits File limits
User used soft hard timeleft used soft hard timeleft
# quotacheck /disk4
无输出
copy一个近200m的文件到/disk4/home/zxl下,未报错!
su - zxl 未报错
$ du -sk
198239 . (此时大小已超硬连接150M)
bash-2.05a$ exit
logout
# repquota /disk4
Block limits File limits
User used soft hard timeleft used soft hard timeleft
zxl -- 1323 45000 150000 243 0 0
# cd /disk4/home/zxl
#quotacheck /disk4/
Cannot check /disk4/
# repquota /disk4
Block limits File limits
User used soft hard timeleft used soft hard timeleft
zxl -- 1319 45000 150000 243 0 0
怎么回事呢? quota未生效吗?
------------------------------------------
后来想了一下,虽说是给zxl配了quota,但通过root用户(其他user也可,只要权限够)可以给该用户复制超过该quota的数据文件.
quota的配置实际上很简单的!
阅读(1199) | 评论(0) | 转发(0) |