且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

vsftp 基于虚拟用户的ftp服务器 如何做配额

更新时间:2021-08-14 16:47:03

做配额的方法:

1,是用磁盘配额,但是虚拟用户好像没有好办法。只能应用于本地用户。与Vsftpd设置无关

2,文件夹限制大小,是占用的。这和Vsftpd没有关系

所以可以先把用户禁锢在自己工作目录里面,然后结合第2个方法

Linux下如何限制单个文件夹大小

 需要root权限

创建一个指定大小的磁盘镜像文件:

dd if=/dev/zero of=/root/augusite/disk.img bs=2M count=10

这样就创建了一个大小为20M的磁盘镜像。

vsftp 基于虚拟用户的ftp服务器   如何做配额

挂载为设备

losetup /dev/loop0 /root/augusite/disk.img

vsftp 基于虚拟用户的ftp服务器   如何做配额

格式化设备

mkfs -t ext4 /dev/loop0

vsftp 基于虚拟用户的ftp服务器   如何做配额

挂载为文件夹

mkdir /var/ftproot/mike

mount -t ext4 /dev/loop0 /var/ftproot/mike

这样/mnt/disk1这个文件夹只能使用20M的空间。vsftp 基于虚拟用户的ftp服务器   如何做配额

 此时,/var/ftproot/mike最大的使用空间为20M

卸载方法:

先卸载文件夹

umount /var/ftproot/mike

 vsftp 基于虚拟用户的ftp服务器   如何做配额

卸载设备

losetup -d /dev/loop0

vsftp 基于虚拟用户的ftp服务器   如何做配额

 

 

如果不再使用可以直接删除镜像文件

rm -f /root/augusite/disk.img

vsftp 基于虚拟用户的ftp服务器   如何做配额

 

注意事项

如果loop0不可用可挂载到loop1/loop2/loop3等等。