码迷,mamicode.com
首页 > 其他好文 > 详细

centos6上增加磁盘配额限制

时间:2015-01-15 18:22:35      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:linux   quota   磁盘配额限制   配额限制   

建五个用户,均需要进行磁盘配额限制,每个用户的配额为 10MB (hard) 以及 8MB (soft)

0
环境
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# nl /etc/issue
     1  CentOS release 6.5 (Final)
     2  Kernel \r on an \m

1
建5用户vbirdN,这个是从鸟哥那借的
[root@hostalonetest ~]# vi au.sh
#!/bin/bash
groupadd vbirdgroup
for username in vbird1 vbird2 vbird3 vbird4 vbird5
do
  useradd -G vbirdgroup $username
  echo "password" | passwd --stdin $username
done

[root@hostalonetest ~]# sh au.sh
Changing password for user vbird1.
passwd: all authentication tokens updated successfully.
Changing password for user vbird2.
passwd: all authentication tokens updated successfully.
Changing password for user vbird3.
passwd: all authentication tokens updated successfully.
Changing password for user vbird4.
passwd: all authentication tokens updated successfully.
Changing password for user vbird5.
passwd: all authentication tokens updated successfully.

2
扫一眼家目录
[root@hostalonetest ~]# ll /home/
total 28
drwx------. 4 vbird1      vbird1      4096 Dec  1 15:57 vbird1
drwx------. 4 vbird2      vbird2      4096 Dec  1 15:57 vbird2
drwx------. 4 vbird3      vbird3      4096 Dec  1 15:57 vbird3
drwx------. 4 vbird4      vbird4      4096 Dec  1 15:57 vbird4
drwx------. 4 vbird5      vbird5      4096 Dec  1 15:57 vbird5
drwx------. 4 zxw         zxw         4096 Sep 18 18:03 zxw

瞅一下vb1的组和id
[root@hostalonetest ~]# id vbird1
uid=503(vbird1) gid=504(vbird1) groups=504(vbird1),503(vbirdgroup)

3
给刚建的这几位准备一个用于这几个用户都能访问的目录/home/vbirdgroup
[root@hostalonetest ~]# mkdir /home/vbirdgroup
[root@hostalonetest ~]# chgrp vbirdgroup /home/vbirdgroup/
[root@hostalonetest ~]# chmod 2770 /home/vbirdgroup/

[root@hostalonetest ~]# ll -d /home/zhaoxiaowei/
drwx---rwx. 5 zhaoxiaowei zhaoxiaowei 4096 Sep 18 14:13 /home/zhaoxiaowei/

设置第四位,它位于三位权限序列的前面,第四位数字取值是4,2,1,代表意思如下:
4,执行时设置用户ID,用于授权给基于文件属主的进程,而不是给创建此进程的用户。
2,执行时设置用户组ID,用于授权给基于文件所在组的进程,而不是基于创建此进程的用户。
1,设置粘着位。

4
现在 磁盘配额概要
在/home下进行quota,需要如下:
  文件系统的支持
  quota 数据文件建置
  quota 启动
  建立用户 quota 信息

5
将 /home 独立一个分区,因为 quota 仅支持 filesystem 而不支持单一目录
/home上增加usrquota,grpquota
[root@localhost ~]# nl /etc/fstab
       
     1  #
     2  # /etc/fstab
     3  # Created by anaconda on Tue Dec  2 18:52:50 2014
     4  #
     5  # Accessible filesystems, by reference, are maintained under ‘/dev/disk‘
     6  # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
     7  #
     8  UUID=93cd7207-78c4-4a95-be1b-7451772c21ad /                       ext4    defaults        1 1
     9  UUID=9a982f8d-d590-49f2-9cf1-e07a5b8238dd /boot                   ext4    defaults        1 2
    10  UUID=c8939b59-9a73-45fa-bd5a-f016a5aa631e /home                   ext4    defaults,usrquota,grpquota        1 2
    11  UUID=1f3d9eaf-e140-47ab-ae99-fcf1516d2070 swap                    swap    defaults        0 0
    12  tmpfs                   /dev/shm                tmpfs   defaults        0 0
    13  devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
    14  sysfs                   /sys                    sysfs   defaults        0 0
    15  proc                    /proc                   proc    defaults        0 0

6
卸载、加载/home,并查看/home项
[root@localhost ~]# umount /home/; mount -a
[root@localhost ~]# mount | grep home
/dev/sda3 on /home type ext4 (rw,usrquota,grpquota)

7
quotacheck生成配额文件,结果如下
[root@localhost ~]# qutoacheck -avug
-bash: qutoacheck: command not found
[root@localhost ~]#

8
查找、安装 quota
[root@localhost ~]# find / -name qutoacheck
[root@localhost ~]#
[root@localhost ~]# rpm -qa | grep quota
quota-3.17-20.el6.x86_64

安装
[root@localhost ~]# yum -y install quota-3.17-20.el6.x86_64
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: centos.ustc.edu.cn
 * extras: centos.ustc.edu.cn
 * updates: centos.ustc.edu.cn
base                                                                                                           | 3.7 kB     00:00     
base/primary_db                                                                                                | 4.6 MB     00:29     
extras                                                                                                         | 3.4 kB     00:00     
extras/primary_db                                                                                              |  29 kB     00:00     
updates                                                                                                        | 3.4 kB     00:00     
updates/primary_db                                                                                             | 910 kB     00:05     
Setting up Install Process
Nothing to do
[root@localhost ~]#

9
开启限制,生成用户和组限制文件
[root@localhost ~]# quotacheck -avug
quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown.
quotacheck: Scanning /dev/sda3 [/home] done
quotacheck: Cannot stat old user quota file /home/aquota.user: No such file or directory. Usage will not be substracted.
quotacheck: Cannot stat old group quota file /home/aquota.group: No such file or directory. Usage will not be substracted.
quotacheck: Cannot stat old user quota file /home/aquota.user: No such file or directory. Usage will not be substracted.
quotacheck: Cannot stat old group quota file /home/aquota.group: No such file or directory. Usage will not be substracted.
quotacheck: Checked 33 directories and 18 files
quotacheck: Old file not found.
quotacheck: Old file not found.

[root@localhost ~]# quotaon -avug
/dev/sda3 [/home]: group quotas turned on
/dev/sda3 [/home]: user quotas turned on

10
增加配额限制
[root@localhost ~]# edquota -u vbird1
Disk quotas for user vbird1 (uid 501):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sda3                        32       8000      10000          8        0        0
单位是KB
[root@localhost ~]# edquota -u vbird2
。。。

[root@localhost ~]# edquota -p vbird1 vbird2 vbird3 vbird4 vbird5

11
查看配额
[root@localhost ~]# repquota -au
*** Report for user quotas on device /dev/sda3
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --      24       0       0              3     0     0       
zxw       --      32       0       0              8     0     0       
vbird1    --      32    8000   10000              8     0     0       
vbird2    --      32    8000   10000              8     0     0       
vbird3    --      32    8000   10000              8     0     0       
vbird4    --      32    8000   10000              8     0     0       
vbird5    --      32    8000   10000              8     0     0  

12
开始测试
[vbird1@localhost ~]$ ll -h
total 7.6M
-rw-rw-r--. 1 vbird1 vbird1 1.7M Dec  2 14:01 cont.txt
-rw-r--r--. 1 root   root    49K Dec  2 13:59 install.log
-rw-rw-r--. 1 vbird1 vbird1 5.8M Dec  2 14:02 v.txt
[vbird1@localhost ~]$

vb1写文件到达到软限制
[vbird1@localhost ~]$ nl cont.txt >> v.txt
sda3: warning, user block quota exceeded.
达到软限制,警告
[vbird1@localhost ~]$ ll -h
total 9.5M
-rw-rw-r--. 1 vbird1 vbird1 1.7M Dec  2 14:01 cont.txt
-rw-r--r--. 1 root   root    49K Dec  2 13:59 install.log
-rw-rw-r--. 1 vbird1 vbird1 7.7M Dec  2 14:02 v.txt

vb1写文件到达到硬限制
[vbird1@localhost ~]$ nl cont.txt >> v.txt
sda3: write failed, user block limit reached.
nl: write error: Disk quota exceeded
达到硬限制,报错
[vbird1@localhost ~]$
[vbird1@localhost ~]$ ll -h
total 9.8M
-rw-rw-r--. 1 vbird1 vbird1 1.7M Dec  2 14:01 cont.txt
-rw-r--r--. 1 root   root    49K Dec  2 13:59 install.log
-rw-rw-r--. 1 vbird1 vbird1 8.1M Dec  2 14:03 v.txt

vb1再写就不让写了
[vbird1@localhost ~]$ nl cont.txt >> v.txt
nl: write error: Disk quota exceeded
[vbird1@localhost ~]$ ll -h
total 9.8M
-rw-rw-r--. 1 vbird1 vbird1 1.7M Dec  2 14:01 cont.txt
-rw-r--r--. 1 root   root    49K Dec  2 13:59 install.log
-rw-rw-r--. 1 vbird1 vbird1 8.1M Dec  2 14:03 v.txt


可以参考
http://blog.csdn.net/java3344520/article/details/8154602
后续扩展可以参考
http://linux.vbird.org/linux_basic/0420quota.php



-----------------
转载请著明出处:
blog.csdn.net/beiigang

centos6上增加磁盘配额限制

标签:linux   quota   磁盘配额限制   配额限制   

原文地址:http://blog.csdn.net/beiigang/article/details/42743189

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!