当前位置: 技术问答>linux和unix
vsftp虚拟用户怎么做磁盘配额
来源: 互联网 发布时间:2017-02-20
本文导语: vsftp虚拟用户怎么做磁盘配额?个人觉得只有本地用户可以用系统的quota功能。。。 就是用户信息放db或mysql里,怎么做磁盘配额。高手说下原理就好。。。 | 磁盘配额配置方法: 需求:...
vsftp虚拟用户怎么做磁盘配额?个人觉得只有本地用户可以用系统的quota功能。。。
就是用户信息放db或mysql里,怎么做磁盘配额。高手说下原理就好。。。
就是用户信息放db或mysql里,怎么做磁盘配额。高手说下原理就好。。。
|
磁盘配额配置方法: 需求:为FTP增加磁盘配额,从而避免恶意用户用垃圾数据塞满你的硬盘 注意:这个功能是系统自带的,而不是vsftp 的功能之一,千万别搞混了。好了,我们先假设我们的系统用户ftpd的主目录是/home/ftpd,它是建立在/home分区中,那么如果我们要对 ftpd用户进行磁盘限额, #[root@netseek root]# rpm -qa | grep quota quota-3.06-9 ; 我的系统已经安装了磁盘配额工具 那我们需要修改/etc/fstab中根分区的记录,将/home分区的第4个字段改成defaults,usrquota,如下: LABEL=/home /home ext3 defaults,usrquota 1 2 # mount -o remount /dev/sda6 ///dev/sda6的挂接点就是/home,这样可以不用启动系统。 也可用先umount 后再mount 这里我还要说明一下,如果我们对一个组进行磁配额,那我们需要增加参数grpquota,例如 LABEL=/home /home ext3 defaults,grpquota 1 2 也可以 LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2 你想怎么限制都可以,自己组合参数吧。 # quotacheck -avu 说明:a-自动开启挂载文件系统的配额,v-显示信息,u-启用用户配额or g-启用组配额 [email=root@localhost]root@localhost[/email] var]# quotacheck -mf /var //这一步比较重要 quotacheck: WARNING - Quotafile /var/quota.user was probably truncated. Can't save quota settings... 重新启动系统 第一次运行时都会出现这个警告,再次运行的时候就不会啦 quotacheck -acu #检查启用了配额的文件系统,并为每个文件系统建立一个当前磁盘用来的表 quotacheck -avu #生成每个启用了配额的文件系统的当前磁盘用量表 # edquota ftpd //为用户ftpd设置磁盘配额 OR # edquota -g grp //为组grp设置磁盘配额 系统会自动打开配额文件,如下: Disk quotas for user ftpd (uid 502): Filesystem blocks soft hard inodes soft hard /dev/sda6 424 0 0 13 0 0 第一列是启用了配额的文件系统的名称。 第二列显示了用户当前使用的块数,单位为KB。 随后的两列用来设置用户在该文件系统上的软硬块限度。 inodes 列显示了用户当前使用的i节点数量。 最后两列用来设置用户在该文件系统上的软硬i节点限度. 硬限是用户或组群可以使用的磁盘空间的绝对最大值。达到了该限度后,磁盘空间就不能再被用户或组群使用了。 软限定义可被使用的最大磁盘空间量。 和硬限不同的是,软限可以在一段时期内被超过。这段时期被称为过渡期(grace period),默认七天的超越。过渡期可以用秒钟、分钟、小时、天数、周数、或月数表示。如果以上值中的任何一个被设置为 0,那个限度就不会被设置。 #edquota netseek_com 为用户netseek_com设置磁盘配额。 Disk quotas for user netseek_com (uid 501): Filesystem blocks soft hard inodes soft hard /dev/sda5 6616 307200 0 15 0 0 注: ilesystem blocks soft hard inodes soft hard filesystem-正在设置的文件系统,不要修改或删除 bolock-当前使用的碰盘空间,单位为KB soft(第一个)-软磁盘空间限制,默认0,表示无限制,我在这里设为300M。 hard(第一个)-硬配额限制,0表示无限制。 inodes-当前文件数量 soft(第二个)-对文件数量的软限制,0表示无限制 hard(第二个)-对文件数量的硬限制,0表示无限制 # quotaon -avu //打开磁盘配额监控进程,u是用户g是组,这里我没设置g参数 要校验用户的配额是否被设置,我们可以使用以下命令: # quota ftpd Disk quotas for user ftpd (uid 502): Filesystem blocks quota limit grace files quota limit grace /dev/sda6 424* 0 1 13 0 0 我设置了硬块限度为1KB,是为了测试方便。 # edquota -t(-g)来设置过渡期(grace period) //当然只针对软限制而言 和另一个 edquota 命令相似,这个命令也会在文本编辑器中打开当前的文件系统配额: 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/sda6 7days 7days 按你的需要修改后存盘退出 用以下命令显示磁盘配额使用状态 # repquota -a 或 repquota /dev/sda6(用户配额) # repquota -g -a 或 repquota -a /dev/sda6 (组的配额) 如果一切按照你的意思实施了,那么我们就进行测试了!如下图4 我们传了一个>1k的文件,没有成功,这样我们就成功的为用户ftpd增添了磁盘配额,要是哪一天你不想加磁盘配额了,怎么办?参看如下命令: 取消某个文件系统的配额限制 #quotaoff -vug /dev/sda6 //删除home分区的磁盘限额 #删除/etc/fstab中设置配额的部分 修改软配额的最大超越时间 组配额起效: [root@bmw test]# id test uid=504(test) gid=505(testgroup) groups=505(testgroup) [root@bmw test]# quota test Disk quotas for user test (uid 504): none [root@bmw test]# quota -g testgroup Disk quotas for group testgroup (gid 505): Filesystem blocks quota limit grace files quota limit grace /dev/sda6 108* 100 110 6days 7 0 0 此时用户test的限额仍然是110KB 注意: /,/boot/,/proc,/mnt/cdrom等不要使用配额,没用。而且磁盘配额不适合FAT和FAT32系统。 以后当新设置了某个用户的配额,可以使用如下命令,马上生效。 # quotacheck -auvgm --是不尝试重新挂载文件系统
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。