利用quota对Vsftpd做磁盘配额

利用quota对Vsftpd做磁盘配额

1 增加一块2G的硬盘

打开VMware点击VM---settings—add—Hard Disk—---Create a new virtual disk—SCSI—disk size(GB)2.0----重启虚拟机系统

2 验证硬盘:

[[email protected] ~]# fdisk -l

#已增加了2G的/dev/sdb
Disk /dev/sdb: 2147 MB, 2147483648 bytes  -----------à说明已经生效了
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

3 先把/dev/sdb划分为一个扩展分区,再新建一个逻辑分区,格式化为ext3分区,然后设置为重启自动加载。

[[email protected] ~]# fdisk /dev/sdb
#对/dev/sdb进行分区
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won‘t be recoverable. 
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n  #增加一个分区
Command action
e   extended
p   primary partition (1-4)
#e增加扩展分区
Partition number (1-4): 1
First cylinder (1-261, default 1): 回车
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-261, default 261): 回车
Using default value 261
Command (m for help): w   #保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[[email protected] ~]# fdisk /dev/sdb
Command (m for help): n
Command action
l   logical (5 or over)
p   primary partition (1-4)
#l增加逻辑分区
First cylinder (1-261, default 1): 回车
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-261, default 261): 回车
Using default value 261
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

4 验证/dev/sdb的分区情况

Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         261     2096451    5  Extended
/dev/sdb5               1         261     2096419+  83  Linux

5 格式化 /dev/sdb5

[[email protected] ~]# mkfs.ext3 /dev/sdb5  格式化sdb5
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
262144 inodes, 524104 blocks
26205 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Writing inode tables: done                           
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

6 创建一个目录来挂载sdb5

[[email protected] ~]# mkdir /mnt/ftp 
[[email protected] ~]# mount /dev/sdb5 /mnt/ftp/
挂载sdb5到/mnt/ftp/
[[email protected] ~]# vi /etc/fstab  
添加最后一条信息,来达到重启自动挂载上去
/dev/sdb5    /mnt/ftp         ext3 defaults          0 0

7 #mount -a  最后重启系统看有没有被自动挂载上

8 创建一个ftp用户做测试

[[email protected] ~]# useradd -d /mnt/ftp/hom -s /sbin/nologin hom
[[email protected] ~]# passwd hom
Changing password for user hom.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[[email protected] ~]# ll /mnt/ftp/
总计 20
drwx------ 2 hom  hom   4096 01-10 17:15 hom
drwx------ 2 root root 16384 01-10 16:53 lost+found
[[email protected] ~]# service vsftpd start
为 vsftpd 启动 vsftpd:[确定]

9 为ftp用户做磁盘配额

刚才创建的hom用户是在/dev/sdb5分区中,那么如果我们要对hom用户进行磁盘限额,那我们需要修改/etc/fstab中根分区的记录,将/dev/sdb5分区的第4个字段改成defaults,usrquota,如下:

/dev/sdb5    /mnt/ftp   ext3   defaults,usrquota          0 0

为了不然系统重启才生效,利用一下命令直接生效

# mount -o remount /dev/sdb5

10 对一个组进行磁配额,那我们需要增加参数grpquota,如下:

/dev/sdb5   /mnt/ftp    ext3    defaults,usrquota, grpquota      0  0

11 生成每个启动了配额的文件系统的当前磁盘用量表

[email protected] /]# quotacheck -avug 
quotacheck: Scanning /dev/sdb5 [/mnt/ftp] quotacheck: Cannot stat old user quota file: 没有那个文件或目录
quotacheck: Old group file not found. Usage will not be substracted.
done
quotacheck: Checked 4 directories and 6 files
quotacheck: Old file not found.

注释:

-a   :扫瞄所有在 /etc/mtab 里头已经 mount 的具有 quota 支持的磁盘

-u  :扫瞄使用者的档案与目录

-v  :显示扫瞄过程

-g  :扫瞄群组使用的档案与目录

-m :强制进行 quotacheck

12 设置限额容量

[[email protected] /]# edquota -u hom   (设置限额容量)

为用户hom设置磁盘配额

系统会自动用

VI文本打开配额文件,如下:

Disk quotas for user hom (uid 501):
Filesystem   blocks    soft      hard     inodes     soft     hard
/dev/sdb5    16      0         1024      4       0        0

这里为了做测试,我把硬块限度为1024kb

注释:

Filesystem是启用了配额的文件系统的名称

blocks显示了用户当前使用的块数,单位为KB

soft用来设置用户在该文件系统上的软块限度.使用者在宽限期间之内,他的容量可以超过 soft ,但必需要宽限时间之内将磁盘容量降低到 soft 的容量限制之下

hard用来设置用户在该文件系统上的硬块限度,绝对不能超过的容量

inodes显示了用户当前使用的i节点数量。

最后两列用来设置用户在该文件系统上的软硬i节点限度.不同的是软限可以在一段时期内被超过。 soft 到 hard 之间的容量其实就是宽限的容量啦!可以达到针对使用者的警示作用!这段时期被称为过渡期(grace period),默认七天的超越。过渡期可以用秒钟、分钟、小时、天数、周数、或月数表示。

如果以上值中的任何一个被设置为 0,那个限度就不会被设置。

注释:

-u  :编辑 user 的 quota

-g  :编辑 group 的 quota

-t  :编辑宽限时间(就是超过 quota 值后,还能使用硬盘的宽限期限)

-p  :copy 模板(以建立好的使用者或群组)到另一个使用者(或群组)

13 打开磁盘配额监控进程

[email protected] /]# quotaon  -avu

u是用户g是组,这里我没设置g参数

/dev/sdb5 [/mnt/ftp]: user quotas turned on

注释:

-a  :全部的 quota 设定都启动(会自动去寻找 /etc/mtab 的设定)

-u  :使用者的 quota 启动

-g  :群组的 quota 设定启动

-v  :显示讯息

14 要校验用户的配额是否被设置

[[email protected] /]# quota -uvs hom
Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
/dev/sdb5   16       0    1024               4       0       0

注释:

-g  :显示 group 群组

-u  :显示 user

-v  :显示 quota 的值

-s  :选择 inod 或 硬盘空间来显示

15 设置过渡期(grace period),只针对软限制而言

[[email protected] /]# 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/sdb5                7days                  7days

16 查看用户配额

*** Report for user quotas on device /dev/sdb5
Block grace time: 7days; Inode grace time: 7days
Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --    35880    0       0             5     0     0      
hom       --    16      0      1024            4     0     0

注释:

-a   列出在/etc/fstab文件里,有加入quota设置的分区的使用状况与用户和群组

-g   列出所有群组的磁盘空间限制

-u   列出所有用户的磁盘空间限制

-v   显示该用户或群组的所有空间限制

17 测试用户配额是否生效

下面利用FlashXP做测试,上传一首故乡原风景.mp3,传输到1M就失败了.说明生效了

[[email protected] /]# quotaoff  -vug /dev/sdb5

关闭/mnt/ftp分区的磁盘限额

/dev/sdb5 [/mnt/ftp]: user quotas turned off

注释:

-a  :全部的 quota 设定都关闭(会自动去寻找 /etc/mtab 的设定)

最后并删除/etc/fstab中设置配额的部分

总结:在对用户进行磁盘限额时,需要掌握以下几点原则:

A.由于对用户进行文件数量的限制不是很实用,所以通常进行磁盘配额只限制用户占用的磁盘容量。

B.为用户设置的软限制和硬限制的数值都不应该小于用户已占用的磁盘容量或文件数量,否则可能造成用户无法正常登录和使用系统。

C.设置的硬限制数量应该大于软限制数量,否则没有实际的意义

D././boot/./proc./mnt/cdrom 等不要使用配额

E.quota 实际在运作的时候,是针对整个分区进行限制的,例如:如果你的 /dev/sdb5 是挂载在/mnt/ftp底下,那么在 /mnt/ftp底下的所有目录都会受到限制!

时间: 2024-10-23 04:16:23

利用quota对Vsftpd做磁盘配额的相关文章

RedHat 6.5中建立Raid5卷(软件磁盘阵列) ;并且对Raid5卷做磁盘配额

实验项目: 1 了解并且配置磁盘阵列(raid 0.raid1 .raid5 .raid6 .raid1+0) 2 了解并且配置磁盘配额 (为了解决安全性,对磁盘进行限制) 磁盘阵列理论部分:1>什么是磁盘阵列(raid): 简单的说raid就是把多块独立的物理磁盘按不同的方式重新组合在一起,然后会形成一块逻辑磁盘,这样就可以提供比一块物理磁盘更具有存储效率和容量.数据安全的技术 2>raid又分不同等级,不同等级的raid在读写.存储.数据备份方面做了不同的权衡.在实际应用一般分为一下几种

鸟哥的Linux私房菜——第十八章:磁盘配额quota

视频链接: 磁盘配额quota的意思是给用户进行使用磁盘额度的空间的划分,举个例子,你的百度网盘的使用空间,其他云盘的使用空间.在使用quota这个命令之前,我们需要进行一些操作,首先我们来挂载一个硬盘,先使用fdisk创建一下分区 fdisk /dev/sdb #创建分区咯 然后我就创建了一个主分区sdb1,接下来我们要格式化这个分区,然后挂载它~~ mkfs.ext3 /dev/sdb1 #格式化成ext3 mount /dev/sdb1 /home/jim/test #挂载它到/home/

【Red Hat linux】quota磁盘配额教程,实验验证生效规则

磁盘配额介绍 quota软件设置的磁盘配额功能,只在指定的文件系统(分区)有效,磁盘配额的限制对象为系统中指定的用户账号.组账号进行限制. 磁盘配额的限制类型分为: 磁盘容量:限制用户能够使用的磁盘数据块大小,也就是限制磁盘空间的大小,默认单位为KB. 文件数量:限制用户能够拥有的文件个数,在linux中每一个文件都有一个对应的数字标记,称为i节点号,这个编号在同一个文件系统内是唯一的. 磁盘配额的限制方法: 软限制:指在固定期限内暂时允许这个用户超过这个限制(默认期限为7天超过7天后用户无法再

【Red Hat linux】quota软件磁盘配额管理

磁盘配额介绍 quota软件设置的磁盘配额功能,只在指定的文件系统(分区)有效,磁盘配额的限制对象为系统中指定的用户账号.组账号进行限制. 磁盘配额的限制类型分为: 磁盘容量:限制用户能够使用的磁盘数据块大小,也就是限制磁盘空间的大小,默认单位为KB. 文件数量:限制用户能够拥有的文件个数,在linux中每一个文件都有一个对应的数字标记,称为i节点            号,这个编号在同一个文件系统内是唯一的. 磁盘配额的限制方法: 软限制:指在固定期限内暂时允许这个用户超过这个限制,但是系统会

Linux学习—磁盘配额工具quota

磁盘配额--Linux作为一个多用户的操作系统,实际生活中会发生多人共同使用一个磁盘的情况,,为了保证一个磁盘的有效利用,必须对磁盘进行使用率的限制,因此磁盘配额(quota)会是一个非常有用的工具 目录 quota的使用限制 quota的设置内容(xfs) 使用quota的案例(重点) 一.quota的使用限制 对EXT系列文件系统,quota仅能针对整个文件系统进行设计,无法对单一的目录进行磁盘配额:而在xfs的文件系统中,可以使用quota对目录进行磁盘配额,因此在进行磁盘配额前,一定要对

磁盘配额(quota)

磁盘管理第二章 磁盘配额简单来讲就是限制用户对磁盘空间的使用. 因为Linux是多用户多任务的操作系统,许多人共用磁盘空间,为了合理的分配磁盘空间,于是就有了quota的出现.磁盘配额流程:1.vim /etc/fstab 或者 mount -o remount,usrquota,grpquota /app/quota.test在实际生产中不方便卸载挂载点,所以建议使用上述方法,当然啦新磁盘除外2.[[email protected] ~]# dfFilesystem 1K-blocks Use

【Linux系统】磁盘划分之二LVM逻辑卷及磁盘配额

LVM逻辑卷的创建和管理与磁盘配额 首先解释一下LVM卷分为PV(physical Volume)物理卷.VG(Volume Group)卷组.LV(Logical Volume)逻辑卷. VG与LV都可以动态添加或移除.建立LVM逻辑卷是为了更好的利用磁盘空间,防止人为的恶意破坏. PV卷作用是LVM的基本存储设备. PE是PV卷的基本单元. VG卷组是由一个或多个PV卷组成的,而LV卷有事在VG卷上划分出一小块空间给用户创建系统文件.虽然是建立在VG卷组上但是却与PV卷没有直接的关系. 下面

linux 磁盘配额设置

Linux是多用户多任务的操作系统,这就难免出现多个用户共享磁盘的情况,如何使多个用户公平的使用磁盘,就是磁盘配置要解决的问题.当然也可以在没创建一个用户的时候,将它的主目录建在一个单独的逻辑分区上,但是这样太麻烦了,也不灵活. 以针对用户的配置为例,设置用户的磁盘配额. 环境:Red Hat6.1 64bit 步骤如下: 1.创建myquota用户,对此用户设置磁盘配额. 2.创建一个逻辑分区,对此分区设置配额. 3.创建文件sda6的挂载点 其中修改/etc/fstab配置文件信息如下,主要

基于LVM逻辑卷下的磁盘配额操作

我们继续接上篇进行的LVM逻辑卷进行接下来的磁盘配额的学习本章操作内容接上篇lvm逻辑卷,如果没有看过上篇博客操作的小伙伴,可在操作完逻辑卷的内容时候再继续跟着本篇内容进行磁盘配额的操作! 磁盘配额概述:1.需要磁盘限额的条件 需要Linux内核支持 安装xfsprogs与quota软件包2.Linux磁盘限额的特点 作用范围:针对指定的文件系统(分区) 限制对象:用户账号.组账号 限制类型:磁盘容量.文件数量 限制方法:软限制.硬限制 磁盘配额的过程:以支持配额功能的方式挂载文件系统↓编辑用户