通过挂载img 文件来限制linux 下的文件夹大小

最近在写一个 vsftpd 的插件,需要能够对FTP 用户的磁盘空间进行限制。因此有了下面这篇文章

首先我们用dd 命令来建立一个img 磁盘镜像

dd if=/dev/zero ibs=1M count={文件大小} of={目标文件}

这里我生成了一个 512 MB 的磁盘镜像文件 I4rdOq3p.img

接着我们把这个磁盘镜像文件和系统的loop设备进行关联

注意 可以使用

ls /dev | grep loop

来查看当前有哪些注册的loop 设备

接着开始格式化loop 设备,并注册成为磁盘

将本磁盘挂在到 FTP 的用户目录下

mount -t ext3 /dev/loop0 /www/wwwroot/I4rdOq3p

 

我们以128M 为一个单位测试,发现在生成第四个文件时出现了错误,磁盘空间不足,证明这是有效的

注意,在创建文件、格式化系统时损失了部分空间 预期是 512M ,实际空间为487.06MB ,损失24.94 M

卸载设备(删除用户数据文件)

1.使用fuser 配合 kill -9 停止磁盘占用

2.取消挂载

3.删除loop 设备

4.删除磁盘镜像文件

 

 

 

点赞
  1. 御坂_20001说道:
    Google Chrome Windows 10
    这个文件是空间限制多大就会实际创建多大的文件吗....

发表评论

电子邮件地址不会被公开。必填项已用 * 标注