如何在Linux中设置目录大小限制?

46
我已经阅读了关于限制目录大小的内容 - 比如创建大文件、格式化、挂载等等。但是这些都非常复杂。是否存在一种工具或其他方法可以对已经存在的目录设置限制呢?

我需要限制特定目录的访问。有很多用户可以访问例如directory1,directory2,directory3。我需要为日志目录、数据目录和应用程序目录设置限制。 - user710818
你为什么问?这是什么背景? - Basile Starynkevitch
1
根据被接受的答案和链接的教程,我编写了一个脚本来自动化这个过程,实际上是为了一个相关的答案而制作的:https://askubuntu.com/a/1043139/295286 - Sergiy Kolodyazhnyy
2个回答

61
配额是基于文件系统的,但您可以始终创建一个虚拟文件系统,并使用usrquota和/或grpquota标志将其挂载到特定(空)目录上。 步骤如下: 1. 创建挂载点 2. 创建一个充满/dev/zero的文件,大小足够大以保留虚拟文件系统的最大大小 3. 使用ext3文件系统格式化此文件(即使它不是块设备,也可以格式化磁盘空间,但请仔细检查每个-危险的-格式化命令的语法) 4. 将新格式化的磁盘空间挂载到您创建的目录中作为挂载点,例如 Code: mount -o loop,rw,usrquota,grpquota /path/to/the/formatted/disk/space /path/of/mount/point 5. 设置适当的权限 6. 设置配额,完成操作。 教程在这里。 原始答案在这里

5
你可以限制文件系统配额, 但这不是目录特定的,而是针对整个文件系统和用户的。
你也可以考虑使用FUSE开发自己的用户空间文件系统,但这需要花费时间。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接