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

时间:2016-04-27 15:52:42

标签: linux security filesystems directory linode

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

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

2 个答案:

答案 0 :(得分:2)

您应首先对文件系统启用配额检查

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

以下示例表明在/ home filesystem

上启用了用户和组配额检查
# 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限制,用户将收到“超出磁盘配额”的警告消息。但是,他们仍然可以创建新文件,直到达到硬限制

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

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

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

答案 1 :(得分:1)

这是配额的目的。您可以使用文件系统配额来强制执行限制,每个用户和/或每组:

  • 可以使用的磁盘大小空间量
  • 可以使用的块数
  • 可以创建的inode数量。

inode的数量基本上会限制用户可以创建的文件和目录的数量。

有很多关于如何在许多来源中配置文件系统配额的高质量文档,我建议你进一步阅读: