linux - 如何限制用户在linux中可以创建的最大文件夹数量

标签 linux security filesystems directory linode

因为有人告诉我,如果我的计算机中的用户将创建“无限”数量的文件夹/文件(甚至是空的),它可能会导致我的计算机变得更慢(甚至卡住),所以我想限制最大数量用户可以创建的文件/目录的数量。

我担心一个用户会尝试创建大量文件,这会给所有其他用户带来问题,因此这将是一个安全问题, 我该怎么做,如何限制每个用户可以创建的文件/目录的最大数量

最佳答案

您应该首先在文件系统上启用配额检查

修改/etc/fstab,将关键字usrquota和grpquota添加到您要监控的相应文件系统中。

以下示例表明在/home 文件系统上启用了用户和组配额检查

# cat /etc/fstab
LABEL=/home    /home   ext2   defaults,usrquota,grpquota  1 2

完成后重新启动。

在文件系统上启用磁盘配额检查后,首先收集所有配额信息,如下所示。

# quotacheck -avug
quotacheck: Scanning /dev/sda3 [/home] done
quotacheck: Checked 5182 directories and 31566 files
quotacheck: Old file not found.
quotacheck: Old file not found.

现在,使用如下所示的 edquota 命令来编辑特定用户的配额信息。

例如,要更改用户“ramesh”的磁盘配额,请使用 edquota 命令,该命令将在编辑器中打开软、硬限制值,如下所示。

# edquota ramesh

Disk quotas for user ramesh (uid 500):
  Filesystem           blocks       soft       hard     inodes     soft     hard
  /dev/sda3           1419352          0          0       1686        0        0

硬限制 – 如果您指定 2GB 作为硬限制,用户将无法在 2GB 之后创建新文件

软限制 – 如果您指定 1GB 作为软限制,一旦达到 1GB 限制,用户将收到“磁盘配额超出”警告消息。但是,他们仍然能够创建新文件,直到达到硬限制

最后,如果您希望每天获得有关用户配额的报告,您可以执行以下操作。

将配额检查添加到每日 cron 作业中。在/etc/cron.daily 目录下创建一个配额检查文件,如下所示,该文件将每天运行配额检查命令。这会将quotacheck命令的输出发送到根电子邮件地址。

# cat /etc/cron.daily/quotacheck
quotacheck -avug

关于linux - 如何限制用户在linux中可以创建的最大文件夹数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36894860/

相关文章:

linux - MMU 实现

c - 为什么从服务器响应中读取的实际字节数小于 Content-Length?

macos - 使用区分大小写的文件系统对开发有好处吗?

使用 docker-compose 运行我的应用程序时出现 java.security.KeyStoreException

macos - 无法在 OS X 中挂载 Android Things 图像文件以调整配置文件

android - 确定 Assets 文件夹中文件的文件类型

c - 如何使用 C 写入 linux 中特定路径的文件

java - 对 JRE 和 JDK 以及最新的 Java 版本感到困惑

c - 是否有任何 gcc 编译器选项或类似的东西来绕过过时的gets 函数?

asp.net-mvc - 如何在 ASP.NET MVC 中要求 X.509 证书身份验证?