一、实验背景:

   你的工作站已经使用了一段日子了。在你的工作站中,你划分了不同的文件系统,每

个文件系统中也存放了许多不同的数据。时间长了你也不记得你的工作站当初是如何划分

文件系统的,并且你想对磁盘上新建的文件大小做个限制。这时候你就可以借助磁盘配额

来帮助你得到你想要的信息。


二、实验目标:

   掌握磁盘配额的技能和知识,会使用 Linux 的磁盘配额 quota 功能


三、实验环境:

[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.4 (Santiago)


四、实验要求:

  1、添加磁盘配额的支持

  2、使用quotacheck 扫瞄磁盘

  3、使用磁盘配额设定可使用空间


五、实验详解:

查看磁盘信息:

[root@localhost ~]# fdisk -l
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x99ea0aef
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        2610    20964793+  83  Linux


新建一个目录,将分区sdb1挂载:

[root@localhost ~]# mkdir /test_qu
[root@localhost ~]# mount /dev/sdb1 /test_qu

查看磁盘配额:

[root@localhost ~]# df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
                      16102344    973328  14311048   7% /
tmpfs                   247208         0    247208   0% /dev/shm
/dev/sda1               495844     37609    432635   8% /boot
/dev/sdb1             20635700    176064  19411400   1% /test_qu

编辑 /etc/fstab,使得准备要开放的 quota 磁盘可以支持 quota,将内容添加到文件最后一行。

[root@localhost ~]# vi /etc/fstab
......
/dev/sdb1               /test_qu                ext4    defaults,usrquota 1 1

mount -a使得修改过的文件生效,quotacheck-avu检查安装,并且生成配置文件,关闭selinux

[root@localhost ~]# mount -a
[root@localhost ~]# setenforce 0
setenforce: SELinux is disabled
[root@localhost ~]# quotacheck -avu
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/sdb1 [/test_qu] done
quotacheck: Cannot stat old user quota file: No such file or directory
quotacheck: Old group file not found. Usage will not be substracted.
quotacheck: Checked 2 directories and 0 files
quotacheck: Old file not found.

进入/test_qu目录,可查看到生成的配额的配置文件aquota.user:

[root@localhost ~]# cd /test_qu
[root@localhost test_qu]# pwd
/test_qu
[root@localhost test_qu]# ll
total 24
-rw------- 1 root root  6144 Sep 10 05:11 aquota.user
drwx------ 2 root root 16384 Sep 10 05:04 lost+found

修改用户配置文件zhuwanyi,修改宽限时间为1天

[root@localhost test_qu]# edquota -u zhuwanyi

Disk quotas for user zhuwanyi (uid 500):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdb1                         0          3          3          0        0        0

[root@localhost test_qu]# edquota -t

Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
  Filesystem             Block grace period     Inode grace period
  /dev/sdb1                     1days                  1days
改变目录权限和所有者,其他用户zhuwanyi就可以在该目录下创建文件了

[root@localhost ~]# ll -ld /test_qu
drwxr-xr-x 3 root root 4096 Sep 10 05:11 /test_qu

[root@localhost ~]# chmod 775 /test_qu
[root@localhost ~]# chown -R root:zhuwanyi /test_qu

[root@localhost ~]# ll -ld /test_qu
drwxrwxr-x 3 root zhuwanyi 4096 Sep 10 05:11 /test_qu


进入目录/test_qu,创建文件test1当创建的文件超过3kb时就报错

wKioL1QP7OGzIP7dAAOKuyJalvg717.jpg